Linux-сервер с ядром CentOS 6.5 и 2.6.32-431.3.1.el6.i686 недавно получил скачки ЦП до 99%, вызванные ожиданием ввода-вывода.
Выполнение
while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done
дает мне эти шипы процессора:
root 300 0.0 0.0 0 0 ? D 10:05 0:00 \_ [jbd2/dm-0-8]
Так что это позволяет мне думать, что источником этих всплесков является диск журнала.
Я обнаружил, что эта тема похожа Ожидание ввода-вывода вызывает такое сильное замедление (EXT4 JDB2 при 99% ввода-вывода) во время фиксации 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 и включил обратную запись в журнале и включил обратную запись данных в журнале
tune2fs -o journal_data_writeback /dev/mapper/vg_ns01-lv_root
В результате, пока у меня не получается долго ждать ввода-вывода в этом разделе.