承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

服务器站点崩溃的有哪些原因

管理员 2023-04-30 09:05:01 互联网圈 25 ℃ 0 评论 4183字 收藏

服务器站点崩溃的有哪些原因

服务器站点崩溃的有哪些缘由

服务器站点崩溃的缘由有:1、服务器中出现内存泄漏问题致使;2、服务器中用C或C++编写的程序出现C指针毛病问题致使;3、服务器数据库中的临时表不够用到致使;4、服务器出现线程死锁问题致使;5、服务器的磁盘资源不足致使;6、服务器访问用户突然暴涨致使服务器超载,从而使服务器站点崩溃。

下面是详细介绍:

1、内存泄漏

C/C++程序还可能产生另外一个指针问题:丢失对已分配内存的援用。当内存是在子程序中被分配时,通常会出现这类问题,其结果是程序从子程序中返回时不会释放内存。如此一来,对已分配的内存的援用就会丢失,只要操作系统还在运行中,则进程就会一直使用该内存。这样的结果是,曾占用更多的内存的程序会下降系统性能,直到机器完全停止工作,才会完全清空内存。

2、C指针毛病

用C或C++编写的程序,如Web服务器API模块,有可能致使系统的崩溃,由于只要间接援用指针(即,访问指向的内存)中出现一个毛病,就会致使操作系统终止所有程序。另外,使用了糟的C指针的Java摹拟量(analog)将访问一个空的对象援用。Java中的空援用通常不会致使立刻退出JVM,但是条件是程序员能够使用异常处理方法恰当地处理毛病。在这方面,Java无需过量的关注,但使用Java对可靠性进行额外的度量则会对性能产生一些负面影响。

3、数据库中的临时表不够用

许多数据库的临时表(cursor)数目都是固定的,临时表即保存查询结果的内存区域。在临时表中的数据都被读取后,临时表便会被释放,但大量同时进行的查询可能耗尽数目固定的所有临时表。这时候,其他的查询就需要列队等候,直到有临时表被释放时才能再继续运行。

4、线程死锁

由多线程带来的性能改良是以可靠性为代价的,主要是由于这样有可能产生线程死锁。线程死锁时,第一个线程等待第二个线程释放资源,而同时第二个线程又在等待第一个线程释放资源。我们来想像这样一种情形:在人行道上两个人迎面相遇,为了给对方让道,两人同时向一侧迈出一步,双方没法通过,又同时向另外一侧迈出一步,这样或没法通过。双方都以一样的迈步方式堵住了对方的去路。假定这类情况一直延续下去,这样就不难理解为什么会产生死锁现象了。

5、磁盘已满

致使系统没法正常运行的最可能的缘由是磁盘已满。一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁带)。

日志文件会很快用光所有的磁盘空间。Web服务器的日志文件、SQL*Net的日志文件、JDBC日志文件,和利用程序服务器日志文件均与内存泄漏有同等的危害。可以采取措施将日志文件保存在与操作系统区分的文件系统中。日志文件系统空间已满时Web服务器也会被挂起,但机器本身被挂起的概率已大大减低。

6、服务器超载

NetscapeWeb服务器的每一个连接都使用一个线程。Netscape EnterpriseWeb服务器会在线程用完后挂起,而不为已存在的连接提供任何服务。如果有一种负载散布机制可以检测到服务器没有响应,则该服务器上的负载就能够散布到其它的Web服务器上,这可能会导致这些服务器一个接一个地用光所有的线程。这样一来,全部服务器组都会被挂起。操作系统级别可能还在不断地接收新的连接,而利用程序(Web服务器)却没法为这些连接提供服务。用户可以在浏览器状态行上看到connected(已连接)的提示消息,但这以后甚么也不会产生。

文章来源:丸子建站

文章标题:服务器站点崩溃的有哪些原因

https://www.wanzijz.com/view/22880.html

TAG: 服务器
X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信