我有一个 VPS 托管一个小型 Web 应用程序(apache、php-fpm、mysql),由于流量很低,目前大部分时间处于闲置状态。
令人惊讶的是,平均负载始终> = 3.00
:
# uptime
02:20:00 up 69 days, 6:03, 1 user, load average: 3,04, 3,04, 3,05
我已经看到这种情况好几个星期了,最后认为这3.00
是我的0.00
。CPU 使用率接近 0%,服务器速度和我预期的一样快,没有其他服务器负载的迹象。
但这仍然激起我的好奇心。什么原因可能导致这种永久的平均负载?
top
显示一个空闲的服务器:
top - 02:25:56 up 69 days, 6:09, 1 user, load average: 3,07, 3,07, 3,05
Tasks: 218 total, 1 running, 216 sleeping, 0 stopped, 1 zombie
%Cpu(s): 0,0 us, 0,3 sy, 0,0 ni, 99,7 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem : 3878668 total, 165660 free, 1187816 used, 2525192 buff/cache
KiB Swap: 4079612 total, 3810976 free, 268636 used. 2132052 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2200 root 20 0 0 0 0 S 0,3 0,0 0:00.02 kworker/0:0
26243 mysql 20 0 3297012 702988 7740 S 0,3 18,1 248:38.28 mysqld
1 root 20 0 188692 3456 2076 S 0,0 0,1 12:30.25 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:03.11 kthreadd
3 root 20 0 0 0 0 S 0,0 0,0 1:31.56 ksoftirqd/0
5 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/0:+
7 root rt 0 0 0 0 S 0,0 0,0 0:01.09 migration/0
8 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/1
11 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/2
12 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/3
13 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/4
14 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/5
15 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/6
16 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/7
我读过这个问题:CPU 100%空闲但仍显示平均负载但没有帮助。
这可能是服务器虚拟化的副作用吗?
编辑:iostat 输出:
# iostat -x 1 20
Linux 3.10.0-327.10.1.el7.x86_64 (centos02) 07/06/2016 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
6,23 0,00 0,32 0,32 0,00 93,13
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,15 0,05 7,53 1,57 79,92 21,50 0,08 10,76 12,29 10,75 3,93 2,98
dm-0 0,00 0,00 0,00 0,04 0,01 0,14 8,01 0,03 842,38 6,66 908,04 0,35 0,00
dm-1 0,00 0,00 0,02 5,64 0,98 73,38 26,26 0,06 11,03 14,83 11,02 5,19 2,94
dm-2 0,00 0,00 0,03 0,09 0,57 6,39 112,18 0,05 370,36 10,75 482,51 4,09 0,05
avg-cpu: %user %nice %system %iowait %steal %idle
3,03 0,00 1,52 0,00 0,00 95,45
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 1,00 0,00 9,00 0,00 64,00 14,22 0,05 5,33 0,00 5,33 5,11 4,60
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 8,00 0,00 64,00 16,00 0,05 6,12 0,00 6,12 5,75 4,60
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,50 0,00 0,50 1,01 0,00 97,99
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 53,47 0,00 728,71 27,26 0,22 4,04 0,00 4,04 3,74 20,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 39,60 0,00 728,71 36,80 0,22 5,45 0,00 5,45 5,05 20,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,51 0,00 0,00 0,00 0,00 99,49
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 6,00 0,00 16,00 5,33 0,03 4,17 0,00 4,17 4,17 2,50
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 4,00 0,00 16,00 8,00 0,03 6,25 0,00 6,25 6,25 2,50
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,50 0,00 0,00 0,00 0,00 99,50
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 16,00 0,00 104,00 13,00 0,13 8,25 0,00 8,25 0,62 1,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 15,00 0,00 104,00 13,87 0,13 8,80 0,00 8,80 0,67 1,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,00 0,00 0,00 0,00 0,00 100,00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
2,54 0,00 1,02 0,00 0,00 96,45
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 29,00 0,00 736,00 50,76 0,28 9,69 0,00 9,69 2,28 6,60
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 29,00 0,00 736,00 50,76 0,28 9,69 0,00 9,69 2,28 6,60
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,00 0,00 0,00 0,00 0,00 100,00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
1,01 0,00 1,01 0,50 0,00 97,49
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 3,00 0,00 12,00 8,00 0,02 6,33 0,00 6,33 6,33 1,90
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 2,00 0,00 12,00 12,00 0,02 9,50 0,00 9,50 9,50 1,90
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,00 0,00 0,00 0,00 0,00 100,00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,00 0,00 0,00 0,00 0,00 100,00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,50 0,00 0,50 0,00 0,00 99,00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 1,00 0,00 8,00 16,00 0,01 7,00 0,00 7,00 7,00 0,70
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 1,00 0,00 8,00 16,00 0,01 7,00 0,00 7,00 7,00 0,70
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,00 0,00 0,00 0,00 0,00 100,00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
2,51 0,00 1,51 0,00 0,00 95,98
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
2,02 0,00 0,00 0,00 0,00 97,98
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,00 0,00 0,00 0,00 0,00 100,00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
1,01 0,00 0,00 0,00 0,00 98,99
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 1,00 0,00 19,00 0,00 588,00 61,89 0,07 3,58 0,00 3,58 1,74 3,30
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 20,00 0,00 588,00 58,80 0,07 3,45 0,00 3,45 1,65 3,30
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,00 0,00 0,00 0,00 0,00 100,00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,00 0,00 0,50 0,00 0,00 99,50
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
avg-cpu: %user %nice %system %iowait %steal %idle
0,50 0,00 0,00 0,00 0,00 99,50
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
编辑:
# ps -ALo stat,pid,comm | egrep '^(R|D)'
Dsl 857 prltoolsd
Dsl 857 prltoolsd
Dsl 857 prltoolsd
R+ 2307 ps
答案1
从输出来看ps -ALo stat,pid,comm | egrep '^(R|D)'
,你似乎有三处于不可中断睡眠(D
状态)的进程。由于 LinuxD
在计算时会统计处于状态的进程loadavg
,因此这三个prltoolsd
进程可能是造成平均负载相对较高的原因。
从 Google 搜索来看,这似乎prltoolsd
是“Parallels Tools”套件的一部分,是托管映像的某种客户添加项。由于它们处于内核级系统调用休眠状态(即:不间断休眠),因此它们可能正在监听“假”设备以允许主机系统与客户系统进行通信,因此负载平均值为 3.0。
如果你想真的确定它们是问题的原因,停止进程prltoolsd
和/或卸载工具。无论如何,我强烈怀疑您可以完全忽略它们和 3.0 平均负载...
答案2
首先,如果没有上下文,平均负载就是一个无用的指标,尤其是不知道你的服务器有多少个 CPU 核心。单核服务器(有点忙)上的平均负载为 3 与 64 核服务器的平均负载有很大不同。
也就是说,mysqld
是您的顶级进程,并且它是多线程的,这意味着一个进程实际上可以同时使用多个 CPU 核心。运行ps -efT | grep mysqld
以查看它有多少个活动线程。 top
还将显示带有-H
选项的线程。即使 mysql 没有主动获取查询,它也会运行一些后台任务。您可能需要检查其日志以查看它在做什么。
答案3
在 Linux 上,卡在 I/O 中的进程也算作被放入运行队列。这是一个bug功能。您可以检查/显示vmstat 1 2
的输出,以查看是否有任何阻塞,例如。
答案4
我会检查与我的服务器的连接(/var/log/secure 和 /usr/local/apache/logs/access_log),这是一种找出与服务器建立多个连接的 IP 的有效方法
netstat -atun | awk '{print $5}' | cut -d: -f1 | sed -e '/^$/d' |sort | uniq -c | sort -n
另外,检查持有该虚拟机的节点是否没有高负载或存在磁盘问题。