第一,内存泄漏
C/C++程序还可能产生另一个指针问题:丢失对已分配内存的引用。当内存是在子程序中被分 配时,通常会出现这种问题,其结果是程序从子程序中返回时不会释放内存。如此一来,对已分配的内存的引用就会丢失,只要操作系统还在运行中,则进程就会一 直使用该内存。这样的结果是,曾占用更多的内存的程序会降低系统性能,直到机器完全停止工作,才会完全清空内存。
第二,C指针错误
用C或C++编写的程序,如Web服务器API模块,有可能导致系统的崩溃,因为只要间接引 用指针(即,访问指向的内存)中出现一个错误,就会导致操作系统终止所有程序。另外,使用了糟糕的C指针的Java模拟量(analog)将访问一个空的 对象引用。Java中的空引用通常不会导致立刻退出JVM,但是前提是程序员能够使用异常处理方法恰当地处理错误。在这方面,Java无需过多的关注,但 使用Java对可靠性进行额外的度量则会对性能产生一些负面影响。
第三,数据库中的临时表不够用
许多数据库的临时表(cursor)数目都是固定的,临时表即保留查询结果的内存区域。在临时表中的数据都被读取后,临时表便会被释放,但大量同时进行的查询可能耗尽数目固定的所有临时表。这时,其他的查询就需要列队等候,直到有临时表被释放时才能再继续运行。
第四,线程死锁
由多线程带来的性能改善是以可靠性为代价的,主要是因为这样有可能产生线程死锁。线程死锁 时,第一个线程等待第二个线程释放资源,而同时第二个线程又在等待第一个线程释放资源。我们来想像这样一种情形:在人行道上两个人迎面相遇,为了给对方让 道,两人同时向一侧迈出一步,双方无法通过,又同时向另一侧迈出一步,这样还是无法通过。双方都以同样的迈步方式堵住了对方的去路。假设这种情况一直持续 下去,这样就不难理解为何会发生死锁现象了。
第五,磁盘已满
导致系统无法正常运行的最可能的原因是磁盘已满。一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁带)。
日志文件会很快用光所有的磁盘空间。Web服务器的日志文件、SQL*Net的日志文件、 JDBC日志文件,以及应用程序服务器日志文件均与内存泄漏有同等的危害。可以采取措施将日志文件保存在与操作系统不同的文件系统中。日志文件系统空间已 满时Web服务器也会被挂起,但机器自身被挂起的几率已大大减低。
第六,服务器超载
Netscape Web服务器的每个连接都使用一个线程。Netscape Enterprise Web服务器会在线程用完后挂起,而不为已存在的连接提供任何服务。如果有一种负载分布机制可以检测到服务器没有响应,则该服务器上的负载就可以分布到其 它的Web服务器上,这可能会致使这些服务器一个接一个地用光所有的线程。这样一来,整个服务器组都会被挂起。操作系统级别可能还在不断地接收新的连接, 而应用程序(Web服务器)却无法为这些连接提供服务。用户可以在浏览器状态行上看到connected(已连接)的提示消息,但这以后什么也不会发生。
总之,还有许多因素也极有可能导致服务器租用或服务器托管站点无法工作。有许多种原因可能导致Web站点无法正常工作,这使得系统地检查所有问题变得很困难。
对于广大站长来说,服务器宕机对网站的收录跟排名都是有非常大的影响的,最重要的是宕机会影响网站业务的进行,所以无论不管说是用户还是服务商都不希望服务器出现宕机问题,那假如出现了,我们该如何解决它呢?
服务器宕机是每个服务商都会遇到的问题,一般有以下几种原因:
1.服务器性能
服务器的性能问题有很多,但最多见的应该就是SQL,但我们也不能一概而论,还有别的可能性,例如有些问题就是服务器Bug或错误行为导致的。另外,较差的Schema和索引设计也是较多的出错原因之一。
2.运行环境
如果是这个问题,那么最常见的就是磁盘空间消耗完了。
3.数据丢了或损坏
数据丢失也有很多原因,可能不是用户错误操作,也可能是人为攻击造成的,但一般来说是由drop table错误操作导致,通常出现这个问题都会伴随着缺少可用备份的问题。
4.复制
复制问题一般是由主备数据不一致导致的。
我们了解了这几项宕机原因,那么如何判断或查看服务器宕机原因呢?
(1)查看是否是误操作导致的
(2)查看是否是应用程序导致的
(3)查看是否是应用程序导致内存溢出或者泄露,out of memory导致
(4)查看是否是流量负载过大导致的
(5)查看是否是遭受黑客入侵攻击导致的
那我们查明是如原因后,我们又该如何去解决问题呢?
1.发现服务器宕机后,及时联系服务商解决相关问题,就算短暂的宕机也可能会造成较大的损失,请大家及时联系自己的服务商。
2.做好提前防范的准备。可以同时运行两个网站空间,备份内容,当一个出现问题,立刻启动另一个。
3.使用一款功能好的宕机监控第一时间智能处理,故障发生时可设置自动切换至备用IP,恢复后将切换回原IP,能够有效提高网站可用性和页面性能。有效规避风险降低成本。
服务器死机的原因如下:
1、软硬件不兼容。三维软件和一些特殊软件,在有的微机上不能正常启动甚至安装,可能就有软硬件兼容方面的问题。
2、某些软件程序不是标准化的,不能先加载并运行,而是先运行,会导致系统管理混乱。 Beta软件在某些方面不够稳定,使用后,可能会导致系统无法启动。
3、在小内存的情况下,运行占用大内存的应用程序很容易崩溃。因此,需要在运行这些程序时保存当前正在使用的文件。
4、该软件存在冲突或不兼容。在安装某些软件之前,系统可以正常工作。安装后系统异常时,问题可能是由软件引起的。当运行不同的软件时,有时会发生冲突和不兼容,或者防病毒软件中存在一些小错误。只需关闭或卸载该软件即可。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)