CentOS服务器中的磁盘I / O活动较高

我有一个CentOS专用的大约16个网站,而且我在高通话时间上遇到了一些问题,这似乎是一个高磁盘I / O活动,导致一般的放缓。

我已经安装在顶部,这是我看到的底部(服务器已经重新启动,这就是为什么值是如此之低):

*** system and process activity since boot *** PID RDDSK WRDSK WCANCL DSK CMD 1/18 2176 1.7G 7.3G 854.4M 39 mysqld 671 1248K 3.0G 0K 13 flush-8:0 566 0K 1.1G 0K 5 jbd2/sda2-8 2401 124.2M 529.1M 22408K 3 crond 2032 2.2G 502.0M 0K 12 nginx 2360 425.8M 115.3M 4188K 2 httpd 

flush-8:0和jbd2 / sda2-8是我在IO>列上使用99%的iotop看到的进程,它们是在hdd(在mysql之后)写入最多的进程。 从我在google看到的这个可能是由ext4相关的bug引起的,目前的内核是:

Linux srvr.com 2.6.32-71.29.1.el6.x86_64#1 SMP Mon Jun 27 19:49:27 BST 2011 x86_64 x86_64 x86_64 GNU / Linux

我问托pipe支持更新内核,他们尝试,但他们现在说,服务器将无法启动新的安装的内核,他们不得不回到以前,他们没有太大的帮助。

有人有任何想法,我怎么能解决由flush-8:0和jbd2 / sda2-8进程造成的高磁盘使用率?

你没有给我们足够的信息让我知道,但是我的第一个预感就是你正在过度使用RAM,并且调换掉。 在顶部,向我们显示内存列表(按m),包括标题部分。

不要责怪你的支持。 你的内核和ext4不太可能成为问题。

flush-8:0是内核线程,用于刷新dirty RAM缓冲区和/或swap到磁盘, jbd2/sda2-8是内核线程,正在使用文件系统上的日志logging – 它们是密集的IO是结果 ,而不是原因你的问题。

更多看起来像你的问题是由MySQL大量使用磁盘。 而JBD正在使用 – 看起来像多个写操作正在进行中。

检查哪些文件被mysql更改或检查日志,数据库使用情况,表优化,以及如果mysql守护程序被configuration为使用尽可能多的RAMcaching。

你可以使用mysqltuner作为通用的build议。

如果写入仍然存在,可能需要增加磁盘速度以获得更多的IOPS。

检查哪些文件更经常写入。 不仅MB / s的速度很重要,你可能会写20 MB,但是消耗更多的IO操作,而其他的则是200MB。

显然mysql不喜欢ext4。 升级内核或将mysql数据目录更改为ext3分区应该可以解决这个问题。 http://ubuntuforums.org/showthread.php?t=1313834&page=2