我的服务器没有响应 HTTP 请求,我花了很长时间才能够使用 SSH 登录;看起来服务器超载并且跪了。
几天前它已经这样做了,但重新启动后一切恢复正常。今天在重新启动之前,我想了解发生了什么。
我终于可以登录了,平均负载显示稳定1.00
:
# uptime
15:00:46 up 4 days, 19:47, 1 user, load average: 1.00, 1.00, 1.00
但top
似乎说服务器是空闲的:
top - 15:01:52 up 4 days, 19:48, 1 user, load average: 1.00, 1.00, 1.00
Tasks: 704 total, 1 running, 703 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 1.1%sy, 0.0%ni, 98.4%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 4034032k total, 4009704k used, 24328k free, 16612k buffers
Swap: 1959920k total, 58576k used, 1901344k free, 22860k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19137 root 16 0 13152 1748 936 R 2.9 0.0 0:00.27 top
1 root 15 0 10364 744 620 S 0.0 0.0 0:03.26 init
2 root RT -5 0 0 0 S 0.0 0.0 0:00.02 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.65 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/1
6 root 34 19 0 0 0 S 0.0 0.0 0:00.21 ksoftirqd/1
7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1
8 root 10 -5 0 0 0 S 0.0 0.0 0:04.73 events/0
9 root 10 -5 0 0 0 S 0.0 0.0 0:02.29 events/1
10 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 khelper
47 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
52 root 10 -5 0 0 0 S 0.0 0.0 0:00.02 kblockd/0
53 root 10 -5 0 0 0 S 0.0 0.0 0:00.05 kblockd/1
54 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
165 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0
166 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/1
哦,我还在 httpd 中看到了以下消息error_log
:
PHP 致命错误:SQLSTATE[08004] [1040]...中的连接太多
但access_log
在过去 8 小时内没有显示任何请求,因为所有 HTTP 连接都以超时结束......
有人对此有解释吗?
该
/var
分区已满,因此 SQL 错误,因为这是存储 mysql 数据的分区。主要原因是启用了二进制日志记录,即使我没有将它用于复制或任何东西,所以我禁用了它,删除了二进制日志,一切都恢复正常了!