centos – 什么可以导致服务器上的所有服务都关闭,但仍然响应ping?以及如何弄清楚

我的服务器在很短的几天内已经两次发生故障,我的服务器完全关闭,这意味着http,ssh,ftp,dns,smtp,基本上所有服务都停止响应,就好像服务器已经关闭一样,除了它仍然响应ping,这是最让我大吃一惊的.

我确实有一些PHP脚本在服务器上以短暂的突发造成巨大负载(cpu和内存),由一小部分用户使用,但通常服务器“幸存”到这些突发,并且当它发生故障时从来没有与使用中的这些高峰重合(我不是说它不能相关,但它不会发生在那些之后).

我不是要求你神奇地告诉我这些崩溃的最终原因,我的问题是:是否有一个过程可能导致所有这些服务同时崩溃?有趣的是,除了ping之外,所有网络服务都会崩溃.
如果服务器有100%的cpu被某个进程占用,它也不会响应ping.如果apache由于(例如)破坏的PHP脚本而崩溃,那只会影响http,而不会影响ssh和dns等.

我的操作系统是Cent OS 5.6

最重要的是,在硬重启服务器之后,我应该查看哪些系统日志? / var / log / messages不会泄露任何可疑内容.

(tl; dr仍然响应ping是预期的行为,检查你的内存使用情况)

ICMP回应请求(即ping)由内核内网络堆栈处理,没有其他依赖性.

内核被称为“内存驻留”,这意味着它将始终保存在RAM中,并且不能像常规应用程序那样交换到磁盘.

这意味着在物理内存不足的情况下,应用程序交换到磁盘,但内核仍保留在原来的位置.当物理内存和交换内存都已满(并且系统无法长时间管理您的程序)时,机器将会翻倒.但是因为a)内核仍然在内存中,并且b)它可以在没有任何其他帮助的情况下响应ping请求,尽管一切都已经死了,系统仍将继续响应ping.

关于你的问题,我强烈怀疑内存问题.安装“sysstat”并使用“sar”命令查看内存/ cpu / load / io load等日志.我预计在崩溃时你会看到100%物理和交换使用.

我还会考虑在dmesg或/ var / log / messages中查看被调用的OOM杀手(内存杀手)的任何迹象.这是内核的紧急系统,它将在内存耗尽时开始查杀进程.它的有效性在很大程度上取决于什么过程被杀死.消耗内存的单个进程将被有效杀死并释放内存,但是一个基于apache的网站将在子进程被杀死后立即产生替换进程.

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native