linux – 刷新进程的高CPU使用率

linux – 刷新进程的高CPU使用率,第1张

概述我知道flush进程是内核的垃圾收集器,但在我的情况下,在两个服务器上,进程实际上是CPU集成的.在大多数情况下,它使用80-100%的CPU. 2898 root 20 0 0 0 0 R 78 0.0 2900:22 flush-0:21 是什么导致这种情况.我想过内存损坏,但一次在两台服务器上?我认为它在内核升级后开始发生.也许有一些已知的bug? 我知道flush进程是内核的垃圾收集器,但在我的情况下,在两个服务器上,进程实际上是cpu集成的.在大多数情况下,它使用80-100%的cpu.
2898 root      20   0     0    0    0 R   78  0.0   2900:22 flush-0:21

是什么导致这种情况.我想过内存损坏,但一次在两台服务器上?我认为它在内核升级后开始发生.也许有一些已知的BUG?

编辑:

更新的信息.它是Gentoo linux 64位,内核版本是2.6.39-gentoo-r2.它有8 GB的RAM.没有太多的IO活动.

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnsda               5.01        87.19         5.55  166452685   10596484sdb               5.01        87.30         5.55  166662767   10596484md0              10.05       160.74         2.75  306883505    5258392md1               3.61        13.74         2.10   26229593    4006684

奇怪的是sda / sdb上的IO活动,这些是交换分区,关闭.

我们只使用uwsgi procesess和一些从crontab运行的Python脚本.

iostat -x 5

linux 2.6.39-gentoo-r2 (python-1)   07/27/11    _x86_64_    (8 cpu)avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          44.98    0.00    3.73    0.81    0.00   50.48Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               1.37     0.70    4.35    0.67    87.16     5.55    37.00     0.08   15.16   15.61   12.21   3.07   1.54sdb               1.37     0.70    4.35    0.67    87.27     5.55    36.99     0.07   14.84   15.22   12.35   3.11   1.56md0               0.00     0.00    9.36    0.69   160.67     2.76    32.51     0.00    0.00    0.00    0.00   0.00   0.00md1               0.00     0.00    3.11    0.50    13.76     2.09     8.79     0.00    0.00    0.00    0.00   0.00   0.00avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          68.24    0.00   25.01    0.30    0.00    6.45Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               0.00     0.20    1.20    0.80     4.80     4.00     8.80     0.01    7.10    7.50    6.50   7.10   1.42sdb               0.00     0.20    1.00    0.80     4.80     4.00     9.78     0.01    7.00    6.00    8.25   7.00   1.26md0               0.00     0.00    0.00    0.60     0.00     2.40     8.00     0.00    0.00    0.00    0.00   0.00   0.00md1               0.00     0.00    2.00    0.00     8.80     0.00     8.80     0.00    0.00    0.00    0.00   0.00   0.00avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          68.24    0.00   21.13    1.18    0.00    9.45Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               0.00     0.00    1.20    0.00     6.40     0.00    10.67     0.01    6.50    6.50    0.00   6.50   0.78sdb               0.00     0.00    1.40    0.00     7.20     0.00    10.29     0.02   11.43   11.43    0.00  11.43   1.60md0               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.00md1               0.00     0.00    2.60    0.00    13.60     0.00    10.46     0.00    0.00    0.00    0.00   0.00   0.00avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          60.73    0.00   22.34    2.75    0.00   14.18Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               0.00     0.00    5.40    0.00    22.40     0.00     8.30     0.08   14.22   14.22    0.00   6.04   3.26sdb               0.20     0.00    3.80    0.00    36.80     0.00    19.37     0.03    7.74    7.74    0.00   7.74   2.94md0               0.00     0.00    7.00    0.00    48.80     0.00    13.94     0.00    0.00    0.00    0.00   0.00   0.00md1               0.00     0.00    2.40    0.00    10.40     0.00     8.67     0.00    0.00    0.00    0.00   0.00   0.00avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          74.22    0.00   20.08    1.25    0.00    4.45Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               0.20     2.20   10.80    0.60    92.00    11.20    18.11     0.07    5.81    5.78    6.33   5.81   6.62sdb               0.60     2.20   11.60    0.60   144.80    11.20    25.57     0.08    6.92    6.83    8.67   6.25   7.62md0               0.00     0.00   22.00    2.40   226.40     9.60    19.34     0.00    0.00    0.00    0.00   0.00   0.00md1               0.00     0.00    1.20    0.00    10.40     0.00    17.33     0.00    0.00    0.00    0.00   0.00   0.00avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          69.17    0.00   21.25    0.85    0.00    8.72Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               0.00     0.00    0.60    0.00     2.40     0.00     8.00     0.00    6.00    6.00    0.00   6.00   0.36sdb               0.00     0.00    0.80    0.00     7.20     0.00    18.00     0.01    9.75    9.75    0.00   9.75   0.78md0               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.00md1               0.00     0.00    1.40    0.00     9.60     0.00    13.71     0.00    0.00    0.00    0.00   0.00   0.00avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          56.99    0.00   22.66    3.63    0.00   16.73Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               0.00     0.00    1.60    1.20     8.00     4.80     9.14     0.02    8.00   10.62    4.50   7.21   2.02sdb               0.00     0.00    1.40    1.20     7.20     4.80     9.23     0.02    8.38   10.71    5.67   8.15   2.12md0               0.00     0.00    0.40    0.80     1.60     3.20     8.00     0.00    0.00    0.00    0.00   0.00   0.00md1               0.00     0.00    2.60    0.00    13.60     0.00    10.46     0.00    0.00    0.00    0.00   0.00   0.00avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          68.65    0.00   25.95    1.55    0.00    3.85Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               0.40    45.80   43.20   19.40   445.60   260.80    22.57     0.48    7.71    9.05    4.73   4.67  29.26sdb               1.00    45.80   48.00   19.40   607.20   260.80    25.76     0.56    8.26    9.70    4.70   4.06  27.36md0               0.00     0.00  102.40   64.40  1020.00   257.60    15.32     0.00    0.00    0.00    0.00   0.00   0.00md1               0.00     0.00    6.80    0.00    33.60     0.00     9.88     0.00    0.00    0.00    0.00   0.00   0.00avg-cpu:  %user   %nice %system %iowait  %steal   %IDle          67.86    0.00   22.76    2.03    0.00    7.35Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilsda               8.80     1.00   74.20    0.80   590.40     7.20    15.94     0.26    3.46    3.44    4.50   3.07  23.06sdb               2.20     1.00   77.80    0.80   552.00     7.20    14.23     0.31    3.94    3.92    6.00   3.30  25.96md0               0.00     0.00  115.20    1.40   907.20     5.60    15.66     0.00    0.00    0.00    0.00   0.00   0.00md1               0.00     0.00   48.00    0.00   234.40     0.00     9.77     0.00    0.00    0.00    0.00   0.00   0.00
解决方法 flush不是“内核中的垃圾收集”.我不确定你在哪里阅读,但C没有垃圾收集器.没有自动内存管理. C程序员必须管理自己的内存分配.无论如何…

flush是虚拟内存子系统用于将脏页写入磁盘的过程.这在EL内核中称为pdflush或bdflush.

执行任何(非直接)IO时,您访问的文件将进入pagecache.如果从磁盘读取文本文件,则该文件文件现在存在于磁盘和高速缓存中.如果进行一些更改并保存该文件,则文本编辑器进行的实际write()系统调用将完成内存中文件的副本.这样,系统调用快速返回,您的文本编辑器可以返回接受您的输入,而不是在将数据写入(相对)慢速硬盘时暂停.修改后的文本文件占用的内存页面现在称为“脏页”.内核担心稍后会将实际的块写入磁盘,这称为“同步”或“刷新脏页”.

您希望看到刷新进程有时会获得高cpu使用率,因为该进程将执行IO到磁盘,并且可能将大部分时间花在iowait上.

没有什么可担心的.您的系统与其他所有linux系统一样.

总结

以上是内存溢出为你收集整理的linux – 刷新进程的高CPU使用率全部内容,希望文章能够帮你解决linux – 刷新进程的高CPU使用率所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1035959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存