高平均负载,低CPU


10

我的服务器速度变慢,我不知道为什么。

从顶部打印:

top - 14:32:50 up 639 days,  6:30,  1 user,  load average: 67.93, 70.63, 79.85
Tasks: 245 total,   1 running, 244 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.9% us,  0.5% sy,  0.0% ni, 94.5% id,  1.0% wa,  0.0% hi,  0.0% si
Mem:   1034784k total,  1021256k used,    13528k free,     4360k buffers
Swap:  1023960k total,   635752k used,   388208k free,    36632k cached

vmstat 10 6

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0 110 795604  12328   3980  46676    0    0     0     0    0     0  4  1 95  1
 0 97 788848  12052   3960  46256 2985   33  3323    33  429     0  2  1  0 97
 0 119 782660  13992   4096  45740 2780   14  2995   360  435     0  2  1  1 96
 0 121 775924  15600   3724  42796 3084    0  3443   136  440     0  2  1  0 98
 0 113 769392  13576   3476  41968 3002    0  3458     7  426     0  2  1  0 97
 0 113 762284  12440   3332  34884 3151    0  3553    61  427     0  2  1  0 97

doitprod2:/ var / log#grep -c处理器/ proc / cpuinfo

2

iostat 2

 tps   Blk_czyt/s   Blk_zapis/s  Blk_czyt   Blk_zapis
sda             166,00      7128,00        52,00      14256        104

好的,杀死并启动某些进程后现在可以了。谢谢您的帮助。


你可以包括输出vmstat 10 6吗?(这需要60秒才能运行),以及grep -c processor /proc/cpuinfo
James C

serverfault.com/q/482832/58957上的答案/评论列出了这些症状的更多原因和解释。
Nickolay

Answers:


9

您可能使进程处于UNINTERRUPTIBLE_SLEEP状态,通常它们处于该状态,因为它们正在等待硬件中的某些内容,例如从磁盘读取数据。这些进程实际上处于休眠状态(您有244个休眠进程),但它们会进入“平均负载”计算。使用检查您的服务器IO,vmstat并查看是否有许多D状态topps进行确认。

编辑:看到您的vmstat输出进一步确认IO问题。下面的bprocs显示不间断睡眠的平均100个进程。您的bi列(从块设备读取的块)和si列(从swap / disk读取的内存)都很高。最后,在cpu标题下,该wa列显示您的CPU花了90%以上的时间来等待IO完成。

您必须检查为什么IO存在这些问题。可能是服务器容量不足,进程运行异常以及其他一些原因,但这绝对是IO。


1
您可以使用iotopapt-get install iotop)开始寻找责任人。同样,在按内存使用的常规顶部排序中,按O(即大写o),然后按n,然后按Enter。内存最大的用户可能负责所有交换。
Eduardo Ivanec

2

如果顶部变高,请检查1.0%wa。由于您已点击交换文件,因此进程可能有可能等待I / O。

检查 cat /proc/sys/fs/file-nr第一个数字是否接近第三个数字(打开文件与打开的文件总数)。

您正在使用VPS吗?


/ proc / sys / fs / file-nr 3600 0 102712
Kamilos

如果您可以共享服务器上运行的软件类型,则可能会有所启发。(例如apache,tomcat,glassfish等)。但是可以肯定的是,更多的内存(两倍或更多)会给您的机器带来很大的提升。
pataroulis 2011年

1

vmstat输出中显示的iowait(在最后一列中列为“ wa”)非常高。而且有许多分页正在进行(数据页在物理内存和基于磁盘的交换之间移动)。

这台机器将受益于更多的物理内存。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.