什么是这些flush过程?
$ ps aux | grep flush root 710 0.0 0.0 0 0 ? S 2012 2:29 [flush-202:1] root 10732 6.2 0.0 0 0 ? S Apr14 453:33 [flush-202:80] ubuntu 24009 0.0 0.0 8080 900 pts/3 S+ 06:26 0:00 grep --color=auto flush
我注意到flush-202:80进程经常跳转到top 。 这是在运行Apache,MySQL和Solr进程的Ubuntu Server 12.04上。 谷歌search主题,我发现另一个SF的post ,其中提到这些进程不应该消耗太多的CPU。 在这篇文章中提到的解决scheme提到重启系统,这正是我如何在top并发现进程: 系统将不会重新启动 。
数字告诉你什么冲洗过程正在进行。 做
grep ^ /sys/class/block/*/dev
你会看到类似的东西
: /sys/class/block/sda1/dev:8:1 /sys/class/block/sda2/dev:8:2 /sys/class/block/sda5/dev:8:5 /sys/class/block/sda6/dev:8:6 /sys/class/block/sda/dev:8:0 :
把这个和你的ps ax | grep flush比较一下 ps ax | grep flush
10213 ? S 0:00 [flush-8:0]
你可以看到什么flush工作是我的/dev/sda 。
你可能可以通过做更多的信息
grep "201:80" /proc/self/mountinfo grep "201:1" /proc/self/mountinfo
和
lsof | grep "201,80" lsof | grep "201,1"
看看哪些进程已经打开这些设备上的文件。
什么top显示您以前,当这进行中? 最好跟踪问题而不是重新启动。 一旦find引起问题的进程,您可以调整/proc/sys/vm/dirty_background_ratio , /proc/sys/vm/dirty_expire_centisecs和/proc/sys/vm/dirty_ratio来进行补偿。