服务器死机的原因

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器死机的原因相关的知识,希望对你有一定的参考价值。

HP服务器安装的2003SERVER。我想知道造成服务器死机的可能的所有原因!!!请回答的人看清楚 是服务器死机的原因,不要复制别人的糊弄!请解答的详细一点!谢谢!

服务器死机的原因如下:

1、软硬件不兼容。三维软件和一些特殊软件,在有的微机上不能正常启动甚至安装,可能就有软硬件兼容方面的问题。

2、某些软件程序不是标准化的,不能先加载并运行,而是先运行,会导致系统管理混乱。 Beta软件在某些方面不够稳定,使用后,可能会导致系统无法启动。

3、在小内存的情况下,运行占用大内存的应用程序很容易崩溃。因此,需要在运行这些程序时保存当前正在使用的文件。

4、该软件存在冲突或不兼容。在安装某些软件之前,系统可以正常工作。安装后系统异常时,问题可能是由软件引起的。当运行不同的软件时,有时会发生冲突和不兼容,或者防病毒软件中存在一些小错误。只需关闭或卸载该软件即可。

参考技术A 自从入职南昌壹基比网络tko机房以来,发现不少客户都会遇到服务器IIS出现假死的情况。为了能更好的为客户服务,壹基比小喻查找了一些关于服务器死机的几种原因。
配置十分的基础,并没有做进一步优化。为了同步文件(php和媒体文件),他们建立了一个active-active DRBD。最后,重构开始了——当然,我们很兴奋。一大早,我们把域名切换到了新的IP上,运行我们的监控脚本,然后盯着屏幕看。我们马上在这些机器上看到了流量,一切似乎都工作的很好。页面载入的很快,mysql负担了大量的查询任务,我们所有人都很高兴。
然后,突然我们的电话开始响个不停:“我们不能访问你们的网站了,这是怎么回事?”我们看了一下我们的监控软件,事实的确如此——服务器都被frozen了,站点处于离线状态!当然,我们做的第一件事情是打电话给我们的托管服务提供商:“我们的所有服务器都死机了。这是怎么回事?”他们答应检查一下机器,一会再打过来。这个电话来了:“你的系统根本就无法插手。你做了什么?它完全被搞砸了。”他们停止了负载均衡器,然后让我观察一下其中一个Web服务器。看到那个index.php文件,我大吃一惊。它包含一些奇怪的C代码片段,错误消息和一些看起来像日志文件的东西。经过进一步的调查,我们发现是DRBD引发了这次事故。
"杀死"你的服务器的方法之一
把Smarty compile和模板缓存放到一个高负载的active-active DRBD集群上,那么你的服务器将会挂掉!当我们的托管服务提供商修复了Web服务器的时候,为了在这些服务器的本地文件系统上存储Smarty缓存文件,我重写了部分CMS代码。我们再次上线了!
现在是午后。这个网站通常在下午的晚些时候到傍晚达到峰值。晚上,几乎没有什么流量。我们一直盯着监控软件,我们所有人都紧张得不得了。这个网站可以被载入,但是后来,系统负载越高,响应就越慢。我增加了Smarty模板缓存的生存期,希望这能产生效果——但是很可惜,这并没有产生效果!不久,服务器开始给出超时提示,空白页面和错误信息。有两台机器不能处理负载。
我们的客户这个时候有一点紧张,但是他说:OK,重构通常会引发一些问题的。只要你能很快地修复它,那就没事了!
我们需要一个计划来减少负载,然后,我们和我们的托管服务提供商讨论了这个问题。他们的一个系统管理员提出了一个好主意:“伙计,你的服务器现在运行在一个非常常见的Apache+mod_php架构上。把你的Web服务器换成Lighttpd怎么样?它是一个相当小项目,但是维基百科都在使用它。”我们同意了。(相关文章推荐:更好的选择 细数Apache服务器的四个替代者)
"杀死"你的服务器的方法之二
把一个开箱即用的Web服务器架设在你的机器上,并且一点也没有对它进行优化,那么你的服务器将会挂掉!那个管理员尽了他的最大努力,尽快地重新配置了所有的Web服务器。他抛弃了Apache,然后切换到Lighttpd+FastCGI+Xcache上来。后来,当我们重新上线的时候,我们几乎没有再感受到压力。这次,这些服务器会维持多长时间呢?
这些服务器运行的出奇地好。负载比以前低很多,平均响应时间也不错。我们彻底放心了,然后我们都回家睡觉了。天已经很晚了,我们认为没有其他的事情需要我们做了。第二天,网站运行的相当好,但是在高峰时段,它一直接近于崩溃的边缘。我们发现MySQL是瓶颈,我们再次打电话给我们的托管服务提供商。他们建议在每个Web服务器上用MySQL从服务器进行MySQL的主-从同步。
"杀死"你的服务器的方法之三
再强大的数据库服务器也有它的极限,当你到达它的极限的时候,你的服务器将会挂掉!在这种情况下,某些时候你的数据库会变得十分缓慢,以至于队列中大量的网络连接会再次“杀死”我们的Web服务器。不幸的是这个问题很难修复。内容管理系统在这方面十分的简单,它本身并不支持单独地读取和写入SQL查询。重写这一切花了很长时间,但是相对于每分钟都遭遇到挂起休眠来说,是相当值得的。
MySQL同步真的成功了,网站最终稳定了!在接下来的几周,几个月里,网站取得了成功,用户的数量开始不断地增加。流量再次超过我们的资源限制,这只是时间的问题。
"杀死"你的服务器的方法之四
不提前作规划,你的服务器可能会挂掉!
幸运的是,我们一直在思考,并且一直在做规划。我们优化了代码,减少了每个页面载入的时候需要的SQL查询的数量,我们意外地发现了MemCached这个好东东。首先,我们在一些核心功能上添加了对MemCached的支持,在一些重量级(运行缓慢)的功能上我们也添加了对MemCached的支持。当我们把这些变更部署以后,我们简直不能相信这个结果——这感觉有点像发现了“圣杯”。我们每秒查询的数量至少降低了50%。我们决定更多地使用MemCached,而不是购买另外一个Web服务器。
"杀死"你的服务器的方法之五
忘记做缓存,你会浪费很多钱,而且,你的服务器还会挂掉!事实证明,MemCached帮助我们减少了70%-80%的MySQL服务器上负载,同时,在Web服务器上,也产生了巨大的性能提升。页面载入的相当快。
最终,我们的配置看起来似乎是完美的。即使在高峰时段,我们也无须再担心崩溃或页面响应缓慢了。我们搞定它了吗?不!一台蓝色的Web服务器开始有一点响应缓慢了。然后出现了一些错误消息,空白页面等等。这个系统负载能力很不错,在大多数情况下服务器也都在工作,但是只是在“大多数情况下”而已。
"杀死"你的服务器的方法之六
把成百上千个小文件放在一个文件夹里,当索引节点耗尽的时候,你的服务器将会挂掉!
是的,你没有看错。我们过去只是关注MySQL,PHP和Web服务器本身,并没有太关注文件系统。Smarty缓存文件存储在本地文件系统里——所有的缓存文件都存储在同一个目录下。解决方案是把Smarty放在一个专用的ReiserFS分区里。另外,我们还打开了Smarty的“use_subdirs”选项。
在过去的几年里,我们一直在优化页面。我们把Smarty缓存放到了memcached中。为了更快速地处理静态文件,我们安装了Varnish来减少I/O负载。我们还切换到了nginx(Lighttpd会随机的产生error 500的消息),安装了更多的内存,购买了更好的硬件,更多的硬件…这个列表永远不会结束。
总结
扩展一个网站是一个永远不会结束的过程。当你解决了一个瓶颈以后,很可能马上会遇到下一个瓶颈。永远都不要这样想:“就是这样,我们大功告成了”然后就靠边站了。这会“杀死”你的服务器,甚至是你的业务。规划和学习是一个持续的过程。如果你因为缺乏经验或资源而不能自己完成这个工作,那么可以找一个有能力胜任这个工作,而且很可靠的合作伙伴,和它一起来做这个工作。永远都不要停止和你的团队和合作伙伴沟通当前遇到的一些问题和即将会遇到的一些问题。思考在前才能争取主动。
参考技术B 以下我分简单和复杂的两种方法给你讲一下,或许有用,可以参赞考一下
【简单版】

一、病毒的原因。
二、硬件的问题。比如电源
三、软件的问题。比如CPU测温监控软件。
四、系统文件丢失,误操作造成的。
五、黑客攻击你。
具体解决方法是重做系统,就可以排除第1、3、4、5;如果还死 ,就是硬件问题了。

【专业版】

※硬件方面原因:

★“散热不良”:显示器、电源和CPU在工作中发热量非常大,因此体质良好的通风关况非常重要,如果显示器过热将会导致色彩、图像失真甚缩短显示器寿命。工作时间太长也会导致电源或显示器散热不畅而造成电脑死机。CPU的散热是关系到电脑运行的稳定性的重要问题,也是散热故障发生的“重灾区”。
★ “灰尘杀手”:机器内灰尘过多也会引起死机故障。如软驱磁头或光驱激光头沾染过多灰尘后,会导致读写错误,严重的会引起电脑死机。
★ “软硬件不兼容”:例如3D制作及一些特殊软件,可能在有的电脑中不能正常安装或启动,其中可能就有软硬件兼容方面的问题。
★ “内存条故障”:主要是内存条松动、本身质量所致。应根据具体情况排除内存条接角故障,如果是内存条质量存在问题,则需更换内存才能解决问题。
★ “硬盘故障”:主要是硬盘老化或由于使用不当造成坏道、坏扇区。这样机器在动行时就很容易发生死机。可以用专用工具软件来进行排障处理,如损坏严重则只能更换硬盘了。另外对于不支持UDMA66/100的主板,应注意CMOS中硬盘运行方式的设定。
★ “CPU超频”:超频提高了CPU的工作频率,同时,也可能使其性能变得不稳定。解决办法当然也比较简单,就是让CPU回到正常的频率上。
★ “硬件资源冲突”:常见的是声卡或显示卡的设置冲突,引起异常错误。此外,其它设备的中断、DMA或端口出现冲突的话,可能导致少数驱动程序产生异常,以致死机。解决的办法是以“安全模式”启动,在“控制面板”->“系统”->“设备管理”中进行适当调整。
★ “劣质零部件”:少数不法商人在给顾客组装机时,使用质量低劣的板卡、内存,有的甚至出售冒牌主板和打磨过的CPU、内存条,这样的机器在运行时很不稳定,发生死机在所难免。因此,用户购机时应该警惕。

※软件方面原因:

★病毒感染:病毒可以使计算机工作效率急剧下降,造成频繁死机。此类故障可通过运行杀毒软件进行全面查毒、杀毒,并应及时升级杀毒软件。
★ CMOS设置不当:硬盘参数设置、模式设置、内存参数设置不当从而导致计算机无法启动。
★ 系统文件的误删除:由于Windows 9X启动需要有Command.com、Io.sys、Msdos.sys等文件,如果这些文件遭到破坏或被误删除,即使在CMOS中各种硬件设置正确无误也无济于事。此时需用系统盘重新启动系统后,重新传送系统文件。
★ 初始化文件遭破坏:由于Windows 9X启动需要读取System.ini、Win.ini和注册表文件,如果存在Config.sys、Autoexec.bat文件,这两个文件也会被读取。只要这些文件中存在错误信息都可能出现死机,特别是System.ini、Win.ini、User.dat、System.dat这四个文件尤其重要。
★ 动态链接库文件(DLL)丢失:在Windows操作系统中还有一类文件也相当重要,这就是扩展名为DLL的动态链接库文件,这些文件从性质上来讲是属于共享类文件。如果在删除一个应用程序时将一个共享文件一并删除,特别是比较重要的核心链接文件被删除,系统就会死机甚至崩溃。
★ 硬盘剩余空间太少或碎片太多:,由于一些应用程序运行需要大量的内存,需用磁盘空间提供虚拟内存,如果硬盘的剩余空间太少难以满足软件的运行需要,就容易造成死机。解决此类问题的方法是合理划分磁盘空间、使用“磁盘碎片整理程序”定期整理硬盘、清除硬盘中垃圾文件。
★ 软件升级不当:在软件的升级过程中会对其中共享的一些组件进行升级,但其它程序可能不支持升级后的组件而导致出现各种问题。
★ 滥用测试版软件:测试版软件通常存在一些Bug或在某些方面不够稳定,使用后会出现数据丢失的程序错误提示、死机或导致系统无法启动。
★ 非法卸载软件:如果不通过软件的卸载,直接将软件安装目录删除,将无法清除注册表及Windows目录中相应的链接文件,导致系统变得不稳定而引起死机。建议删除不需要的应用软件时应使用软件提供的卸载程序,最好是运行“控制面板”中的“添加/删除程序”彻底将该软件从系统中删除。
★ 使用盗版软件:盗版软件可能隐藏着病毒,一旦执行会自动修改系统,使系统在运行中出现死机。
★ 启动的程序太多:由于运行太多的程序,使系统资源紧张,个别程序需要的数据在内存或虚拟内存中找不到,也会出现异常错误。
★ 非法操作:用非法格式或参数非法打开或释放有关程序,也会导致电脑死机。
★ 非正常关闭计算机:不要直接使用机箱电源按钮强行关机,这样易造成系统文件损坏或丢失,引起自动启动或运行时死机。对于Windows 98/2000/NT等系统来说,这点非常重要,严重的话,会引起系统崩溃。★ 内存冲突:有时候运行各种软件都正常,但是却忽然间莫名其妙地死机,重新启动后运行这些应用程序又十分正常,这是一种假死机现象。出现的原因多是Win 98的内存资源冲突
参考技术C 问下楼主,1、死机了按Ctrl+alt+del管用吗?能重启说明是软问题,不能是硬问题
2、重启以后是过了很久才死机吗?是因热而死机,找到热源解决就可以了。不是,而且无规律想死就死机了,晕,设备不兼容问题。先降频在考机1 小时观察。
3、考机过程请断网测试,因为也有可能是因为网络病毒攻击直接导致电脑无规律死机。
4、一般死机最常见是内存质量差(蓝屏最多是因为内存)显卡热,其次是CPU问题,和主板兼容性问题,最后是硬盘,硬盘问题通常是先卡后死机。
个人观点,希望能够帮得上忙!
参考技术D 根据Apache报告
可能是Apache导致内存泄漏
pf只涨不降直到极限
导致内存泄漏
在httpd.conf中把如下值更改成这样
看有没效果
ThreadsPerChild
250
MaxRequestsPerChild
2000
Timeout
200

嵌入式常见的段错误死机原因之一strlen函数

          在做嵌入式产品常见死机原因有很多种,其中之一就是strlen函数引起的。这个函数大家不会陌生,学c语言最基本的函数了,但在实际使用中偶尔不小心还是可能会引起段错误造成死机的。为什么呢?

   函数原型:unsigned int strlen(char *s);

也就是输入一个字符串函数指针,判断这个字符串有多长。当你不小心输入了一个空指针的时候,错误就来了。很多时候我们都知道使用指针之前都判断一下这个指针是否是空指针,在开发中往往有时图省事或者自认为这里不判断也不会有事,盲目自信了一把!因此,我们还是得养成良好得习惯,使用之前还是要验证一下合法性。

段错误示例如下:

[2021/9/28 18:34:42] NMI
[2021/9/28 18:34:42] msp: 200087b8  psp: 3832dce8  stack(reg0): 200087b8  reg4: 20008798
[2021/9/28 18:34:42] r0: 00000000  r1: 00000001  r2: e000ed00  r3: 80000833
[2021/9/28 18:34:42] r4: 00000000  r5: 00000000  r6: 7ffffff8  r7: 3832de00
[2021/9/28 18:34:42] r8: 00000000  r9: ffffffff  r10: 2000fd24  r11: 00000001
[2021/9/28 18:34:42] r12: 00000030  r14(lr): 18124c19  r15(pc): 18124c18  xPSR: 61000033
[2021/9/28 18:34:42] The exception call: 200087b8
[2021/9/28 18:34:42] The exception end: 20008800
[2021/9/28 18:34:42] PC call-0: 18124c18: f7ff fffe 4770 460b 0781 d503
[2021/9/28 18:34:42] PC call-1: 18124c14: f000 f828 f7ff fffe 4770 460b
[2021/9/28 18:34:42] The normal call: 3832dce8

[2021/9/28 18:34:42] PC call_normal-0: 1811a076: 42d3 d100 bd10 f813 4d01 f801
[2021/9/28 18:34:42] PC call_normal-1: 1812060e: f7f9 fd21 68a3 1b9b 60a3 6823
[2021/9/28 18:34:42] PC call_normal-2: 1812060e: f7f9 fd21 68a3 1b9b 60a3 6823
[2021/9/28 18:34:42] PC call_normal-3: 18120582: 0000 e92d 47f0 688e 429e 4682
[2021/9/28 18:34:42] PC call_normal-4: 1811ad2c: 47c0 3001 d0aa 6823 079b d413
[2021/9/28 18:34:42] PC call_normal-5: 18120582: 0000 e92d 47f0 688e 429e 4682
[2021/9/28 18:34:42] PC call_normal-6: 1811a4ac: 0020 6c68 004c 6665 4567 4746
[2021/9/28 18:34:42] PC call_normal-7: 101667d4: 7325 2500 3a73 6425 7325 2f00

以上是关于服务器死机的原因的主要内容,如果未能解决你的问题,请参考以下文章

[H2O XGBoost因本地服务器死机或挂起而崩溃(?)

linux系统死机分析及解决方法

linux系统死机分析及解决方法

电脑死机的原因,硬盘丢失了数据怎么恢复的简单方法

51单片机死机重启的原因都有哪些?

平板电脑经常死机是怎么回事