Debian 上单核 vps 的平均负载超过 20

Debian 上单核 vps 的平均负载超过 20

操作系统:Debian 6.0 RAM:3072 M,CPU:单核。

顶部:

top - 08:56:43 up 21 days, 12:37,  1 user,  load average: 28.38, 22.48, 15.95
Tasks:   8 total,   1 running,   7 sleeping,   0 stopped,   0 zombie
Cpu(s):  6.3%us, 14.7%sy,  0.0%ni, 17.5%id, 57.0%wa,  0.1%hi,  4.4%si,  0.0%st
Mem:   3145728k total,    28144k used,  3117584k free,    10236k buffers
Swap:        0k total,        0k used,        0k free,        0k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1247 root      20   0 18932 1240 1000 R    0  0.0   0:00.06 top
    1 root      20   0  8356  724  676 S    0  0.0   7:41.97 init
 3277 root      20   0  208m  11m 5652 S    0  0.4   0:00.17 apache2
 3847 root      20   0 22420 1032  788 S    0  0.0   0:12.66 cron
 8809 www-data  20   0  208m 7400 1168 S    0  0.2   0:00.00 apache2
26429 root      20   0 70488 3368 2652 S    0  0.1   0:00.80 sshd
26539 root      20   0 19300 2124 1564 S    0  0.1   0:00.16 bash
29551 root      20   0 49168 1152  604 S    0  0.0   0:00.12 sshd

辅助附言:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   8356   724 ?        Ss   Jul23   7:41 init [2]
root      3277  0.0  0.3 213808 11828 ?        Ss   08:17   0:00 /usr/sbin/apache2 -k start
root      3847  0.0  0.0  22420  1032 ?        Ss   Jul23   0:12 /usr/sbin/cron
root      5870  0.0  0.0  16332  1140 pts/10   R+   08:58   0:00 ps aux
www-data  8809  0.0  0.2 213944  7400 ?        S    08:32   0:00 /usr/sbin/apache2 -k start
root     26429  0.0  0.1  70488  3368 ?        Ss   08:13   0:00 sshd: root@pts/10
root     26539  0.0  0.0  19300  2124 pts/10   Ss   08:13   0:00 -bash
root     29551  0.0  0.0  49168  1152 ?        Ss   Jul23   0:00 /usr/sbin/sshd

我如何才能找出导致问题的进程?一段时间后,平均负载下降了,但有人能帮我找出这种现象的原因吗?

更新:平均负载 233

top - 10:29:01 up 21 days, 14:09,  2 users,  load average: 237.96, 183.80, 98.76


Tasks:  15 total,   1 running,  14 sleeping,   0 stopped,   0 zombie

Cpu(s):  9.3%us, 14.2%sy,  0.0%ni,  0.0%id, 72.0%wa,  0.0%hi,  4.6%si,  0.0%st

Mem:   3145728k total,    51408k used,  3094320k free,    10272k buffers

Swap:        0k total,        0k used,        0k free,        0k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

    1 root      20   0  8356  724  676 S    0  0.0   7:44.70 init

 2031 root      20   0 70592 3388 2652 S    0  0.1   0:00.14 sshd

 2664 root      20   0 19300 2120 1556 S    0  0.1   0:00.02 bash

 3277 root      20   0  210m  11m 5680 S    0  0.4   0:00.57 apache2

 3847 root      20   0 22420 1032  788 S    0  0.0   0:12.70 cron

 4041 www-data  20   0  211m 7792 1228 S    0  0.2   0:00.00 apache2

13767 root      20   0 32800 1112  812 S    0  0.0   0:00.01 cron

14742 smmsp     20   0 52508 3940 2632 D    0  0.1   0:00.00 sendmail

15769 root      20   0 69232 3092 2408 S    0  0.1   0:00.01 sshd

16154 www-data  20   0  211m 7716 1228 S    0  0.2   0:00.00 apache2

17260 sshd      20   0 50616 1372  728 S    0  0.0   0:00.00 sshd

18436 root      20   0 18932 1248 1004 R    0  0.0   0:00.02 top

26429 root      20   0 70488 3376 2652 S    0  0.1   0:01.11 sshd

26539 root      20   0 19300 2124 1564 S    0  0.1   0:00.29 bash

29551 root      20   0 49168 1152  604 S    0  0.0   0:00.14 sshd

答案1

您的服务器在 I/O 等待上花费了过多的时间。

57.0%wa

这意味着...磁盘。

导致此问题的一个可能原因是运行 VPS 的服务器存在磁盘问题。这些问题包括但不限于:磁盘故障;使用非企业级磁盘;您的主机试图在创造性回收的硬件上运行 VPS 业务等。

也可能是您正在运行一个导致磁盘活动量异常高的进程。不幸的是,您的topps列表中没有报告该信息,这让我怀疑您有一个基于 OpenVZ 的低端 VPS。(如果属实,请回到上一段。)

至于解决问题,首先要做的是排除任何导致大量磁盘活动的进程。iotop正如@Shi 提到的,这个程序对此很有用。不过我敢打赌你什么也找不到。完成后,你联系主机报告服务器磁盘的一些问题,他们必须诊断这些问题,因为他们是主机,你无法从容器内看到这些问题。

(之后,当您购买新的 VPS 提供商时,请避开使用 OpenVZ 的提供商。根据我的经验,绝大多数 VPS 提供商的运行情况都很糟糕。)

答案2

首先,尝试理解下面这一行:

Cpu(s): 6.3%us, 14.7%sy, 0.0%ni, 17.5%id, 57.0%wa, 0.1%hi, 4.4%si, 0.0%st

您会发现,用户空间应用程序的 CPU (%us) 几乎什么都不做。它忙于系统(内核)任务 (%sy),甚至忙于等待 (%wa)。

等待通常意味着 I/O(输入/输出)等待。因此,使用 检查输入/输出统计信息iotop

由于交换已被禁用,因此交换不会导致此问题。

相关内容