Отладка 100% -ной проблемы с iowait в linux - PullRequest
4 голосов
/ 03 ноября 2008

Я пытался отследить, почему у меня на коробке 100% айовит. Если я делаю что-то вроде запроса выбора MySQL, система переходит на 100% iowait (на более чем одном процессоре на моем сервере), который убивает мои сторожевые таймеры и иногда убивает сам httpd.

В vmstat я вижу, что примерно каждые 8 ​​секунд происходит запись на диск размером 5 МБ. И это приводит к тому, что по крайней мере один процессор (из 4) блокируется на одну или две секунды.

Я должен сказать, что в моем ext3 есть несколько миллионов файлов (и я пробовал ext2, и у меня нет времени и нет включенного ведения журнала.) Существует аппаратный рейд, отражающий два 300-гигабайтных идентификатора.

Мне не хватает dtrace. Есть ли способ узнать, что вызывает эти записи? и как мне ускорить мою файловую систему?

Идеи приветствуются!

Спасибо!

Ответы [ 2 ]

7 голосов
/ 03 ноября 2008

Использование iotop.

0 голосов
/ 03 ноября 2008

ОК, возможные этапы диагностики (для потомков):

  1. Подтвердили ли вы, что на самом деле вам не хватает виртуальной памяти и, следовательно, выгрузите процессы на диск?

  2. Если это не замена ядра, вы можете использовать strace (поскольку у вас нет dtrace), чтобы доказать, выполняет ли MySQL запись

Не могли бы вы предоставить более подробную информацию об оборудовании и конфигурации O / S?

...