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
ありがとう
パーティションでジャーナルが有効になっているかどうかを確認するには:
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)は長くなりません。