高负载平均,低CPU

我的服务器已经放慢了,我不知道为什么。

从顶部打印:

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---- rb 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 processor / 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 

好吧,杀了之后开始一些进程现在好了。 Thx为您的帮助无论如何。

您可能正在处理UNINTERRUPTIBLE_SLEEP状态,通常它们处于该状态,因为它们正在等待硬件中的某些内容,如从磁盘读取数据。 这些进程正在有效地hibernate(您有244个hibernate进程),但是它们进入了加载平均计算。 用vmstat检查你的服务器IO,看看你是否有很多的D状态或ps来确认。

编辑:看到你的vmstat输出进一步确认IO问题。 procs下的b列显示了不间断睡眠的100个进程的平均值。 你的bi列(从块设备读取的块)非常高,还有si列(从交换/磁盘读取存储器)。 最后,在cpu头下, wa列显示你的CPU花费了超过90%的IO等待IO完成。

你必须检查你为什么有这些IO问题。 它可能是缺乏服务器的能力,stream程运行狂潮等原因,但它是确定的IO。

如果价格上涨的话,请检查一下上面的1.0%。 由于您已经select了交换文件,因此进程可能会等待I / O

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

你在VPS吗?

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

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