На 8-стороннем инстансе Amazon EC2 (под управлением Linux 2.6.21) с 8 томами EBS и большим объемом дискового трафика мы видим высокий% wa в верхней части (30-40%) и высокую среднюю нагрузку (8-9). Насколько я понимаю, процессы, ожидающие ввода-вывода от томов EBS, учитываются в средней нагрузке (ps показывает несколько процессов в состоянии D, примерно столько же, сколько средняя загрузка).
Однако не совсем понятно, что означает% wa. Действительно ли процессор занят ожиданием ответа от тома EBS или ядро планирует другой процесс на нем? Я ожидал, что будет запланирован другой процесс; но тогда я не понимаю, почему время iowait выражается в процентах от общего времени ЦП (если эти проценты в сумме не превышают 100%).
До тех пор, пока мы не исчерпаем максимальную емкость ввода-вывода томов EBS, меня это не волнует, но если процессоры будут связаны в ожидании ввода-вывода, я думаю, что у нашей машины закончится емкость ЦП, прежде чем закончится I / O емкость.
ЦП может и будет использоваться для других процессов при условии, что есть хотя бы один процесс, готовый получать время ЦП. В этом есть загвоздка - у вас может быть система с привязкой к вводу-выводу, в которой каждый процесс ожидает завершения ввода-вывода, и, поскольку нет ничего, ожидающего времени процессора, нет причин планировать (и использовать) процессор для чего-либо, кроме деятельность ядра ... отсюда и термин I / O Подождите.
Попробуйте бежать vmstat 1
и регулярно проверяйте, есть ли числа больше 0 в столбце «b» (2-й столбец). Если это так, вы, вероятно, связаны с вводом-выводом. Увидеть это время от времени не составляет большого труда, видеть это все время с числами в диапазоне 2-3 - терпимо, но нежелательно, а если увидеть больше 5+, значит, вы, вероятно, слишком заняты (хотя это зависит от того, сколько Ввод / вывод, который может вместить ваша система, может быть больше или меньше, в зависимости). Буква «b» означает «процессы заблокированы», например «количество процессов, запланированных для запуска, но заблокированных в ожидании завершения ввода-вывода».
Следовать за:
Есть известная ошибка с тяжелым вводом-выводом и более новыми планировщиками в ядрах серии 2.6.. Попробуйте изменить свой планировщик, чтобы увидеть, не повлияет ли он.
В man vmstat указано: «wa: время ожидания ввода-вывода. До Linux 2.5.41, в режиме ожидания».