平均负载为 1.00,而 top 似乎显示服务器处于空闲状态

平均负载为 1.00,而 top 似乎显示服务器处于空闲状态

我的服务器没有响应 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 连接都超时了......

有人可以解释一下吗?

答案1

/var分区已满,因此出现 SQL 错误,因为这是存储 mysql 数据的分区。

主要原因是尽管我没有使用二进制日志进行复制或任何其他操作,但它已启用二进制日志,因此我禁用了它,删除了二进制日志,一切恢复正常!

相关内容