运行CentOS 6.5和2.6.32-431.3.1.el6.i686内核的
Linux机箱最近因Wait IO而导致cpu峰值高达99%.
执行
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 Wait causing so much slowdown (EXT4 JDB2 at 99% IO ) During Mysql Commit,但我不知道如果我的分区是日记数据,我可以找到.我的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.