Отладка 100% -ной проблемы с iowait в linux
Я пытался отследить, почему у меня на коробке 100% айовит. Если я делаю что-то вроде запроса выбора MySQL, система переходит на 100% iowait (на более чем одном процессоре на моем сервере), который убивает мои сторожевые таймеры и иногда убивает сам httpd.
В vmstat я вижу, что каждые 8 секунд или около того происходит запись на диск размером 5 МБ. И это приводит к тому, что по крайней мере один процессор (из 4) блокируется на одну или две секунды.
Я должен сказать, что в моей ext3 есть несколько миллионов файлов (и я попробовал ext2, и у меня нет времени и нет включенного ведения журнала). Существует аппаратный рейд, отражающий два 300-гигабайтных идентификатора.
Я скучаю по Dtrace. Есть ли способ узнать, что вызывает эти записи? и как мне ускорить мою файловую систему?
Идеи приветствуются!
Спасибо!
2 ответа
ОК, возможные этапы диагностики (для потомков):
Вы подтвердили, что на самом деле у вас не хватает виртуальной памяти и, следовательно, выкладываете процессы на диск?
Если это не замена ядра, вы можете использовать
strace
(как у вас нетdtrace
) чтобы доказать, что MySQL делает записи
Можете ли вы предоставить более подробную информацию об оборудовании и конфигурации O/S?