我有一台 Linux 服务器,运行 CentOS 6.2。最近我的服务器死机了,我不得不强制重启它。
现在这种事情又一次发生。
现在客户问我原因是什么?这个我已经做了。
- 检查所有类型的日志(系统日志等)
- 我已经为该服务器配置了 zabbix。但没有任何内容。
- 我创建了一个小脚本,每 15 分钟保存一次 top 命令的输出。它显示挂起前有很多 httpd 进程。但是,重新安装 httpd 并检查 httpd 日志没有帮助。
- Strace httpd 也没有什么帮助。
我还能做其他什么事吗?
答案1
原因可能是磁盘交换过多。检查分叉的 Apache 进程数。(ps -aux | grep httpd)
答案2
抱歉,我的水晶球坏了,所以我无法神奇地看到正在发生的事情。
但这里有一些建议,可以确保你下次能够回答这个问题:
- 内核日志和 /var/log/{messages,syslog} 包含非常有用的数据。请阅读它们。
- 更好的办法是:将这些日志发送到一个中心位置,这样当机器死机时你仍然可以拥有它们
- 绘制服务器的详细性能指标图表(内存使用情况、CPU 使用情况等...),以便事后了解哪些部分超载了
- 针对这些指标发出警报,以便防止防止发生这种情况
最后但并非最不重要的一点是:聘请真正的系统管理员。如果您唯一能想到要查看的是 apache 和 mysql 日志,那么您的客户就需要停止向您付费。