web-dev-qa-db-ja.com

CentOS6と長い待機IO jbd2 / dm-0-8の時間

CentOS 6.5および2.6.32-431.3.1.el6.i686カーネルを実行しているLinuxボックスでは、最近、待機IOが原因で最大99%のCPUスパイクが発生しました。

実行中

while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done

それらのCPUスパイクについて教えてください:

root       300  0.0  0.0      0     0 ?        D    10:05   0:00  \_ [jbd2/dm-0-8]

これらのスパイクの原因はJournal Diskだと思います。

私はそのトピックが似ていることを発見しました IO待機が非常に遅くなります(99%のEXT4 JDB2 IO)Mysqlコミット中 しかし私はどこで見つけることができるかわかりません私のパーティションはデータをジャーナリングしているかどうかです。私のfstabは次のようになります。

/dev/mapper/vg_ns01-lv_root /                       ext4    defaults        1 1
UUID=bc042a99-90a1-4d0a-a7b6-4122e9b2a201 /boot                   ext4    defaults        1 2
/dev/mapper/vg_ns01-lv_home /home                   ext4    defaults        1 2
/dev/mapper/vg_ns01-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

ありがとう

3
JackTheKnife

パーティションでジャーナルが有効になっているかどうかを確認するには:

tune2fs -l /dev/mapper/vg_ns01-lv_root | grep has_journal

追加したので、ルートパーティションでジャーナルを無効にすることができません

noatime,nodiratime,barrier=1,data=ordered

fstabに移動し、ジャーナルでwrtiebackを有効にし、ジャーナルでデータのライトバックを有効にしました

tune2fs -o journal_data_writeback /dev/mapper/vg_ns01-lv_root

その結果、これまでのところ、そのパーティションで待機IO)は長くなりません。

3
JackTheKnife