我请求硬重启,因为 ssh 和 http 都不起作用。Ping 正常工作。
我应该检查哪些日志来了解问题是什么?
谢谢!(Lamp 上的 Debian 6)
编辑:我的记忆和交换:
Mem: 4040068k total, 1114920k used, 2925148k free, 109212k buffers
Swap: 1051384k total, 0k used, 1051384k free, 283820k cached
4 GB 内存
(以及超过 1TB 的 HDD)
事情的起因是2天前:
看看在不到 10 小时内交换空间的使用率如何增加 60%
我的控制面板将此报告为内存使用量排名前 5 的进程:
如果每个 apache2 进程都很大,那么就太糟糕了,因为如果我执行 TOP,我会有 262 个休眠进程,其中大多数都是 apache2!
我的 apache mpm_prefork 设置是:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 1500
MaxClients 1500
MaxRequestsPerChild 2000
</IfModule>
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 4
答案1
Which logs should i check to understand what was the problem?
所有这些。 ping
工作仅意味着足够的 IP 堆栈可以处理 ICMP Echo 请求(与 SSH 和 Web 服务器所需的相比,这不是系统的很大一部分)。您可能会遇到我所说的“部分恐慌”(内核崩溃,但 IP 代码仍在运行)、内存耗尽,或者您的 SSH/HTTPd 进程可能因不明原因而崩溃。
/var/log/messages
可能是一个很好的起点,就像您的 Web 服务器(可能是 Apache)的日志一样。如果没有其他信息,它将让您了解系统上次运行的时间以及在重新启动之前它处于死机状态的时间...
根据评论更新
听起来像是内存泄漏。
当交换空间用完时,用户空间会崩溃,但内核(连接在 RAM 中)可以继续运行并响应 ping 请求。
为了获得永久的解决方案,您应该仔细监视交换使用率,当您注意到它呈危险上升趋势(> 33%的使用是我的阈值)时,找出使用交换最多的进程:这可能是您的罪魁祸首。