Странная статистика по Linux-дискам при исчерпании кредита ввода-вывода EBS
У нас есть экземпляры T2 (Linux 4.9.20-11.31.amzn1.x86_64) в AWS EC2, которые исчерпывают свои кредиты ввода / вывода из-за чтения с диска. Вполне возможно, что у нас слишком много операций чтения на этих узлах, так что ничего странного в этом нет, но результат процессов на узле довольно своеобразен. atop
(v 1.27) фиксирует нормальный, ожидаемый поток небольших операций чтения до тех пор, пока не исчерпаны кредиты ввода-вывода, когда atop -d 30
начинает выглядеть так в течение долгих периодов подряд:
PID TID RDDSK WRDSK WCANCL DSK CMD
10616 - 432.2M 0K 0K 24% consul
27629 - 313.3M 0K 0K 17% chef-client
27795 - 306.5M 0K 0K 17% python
27803 - 132.6M 0K 0K 7% crond
Кажется маловероятным, что consul
или же crond
(и в других образцах named
, dhclient
и даже init
) вдруг решил, что хочет прочитать сотни МБ, предварительно читая очень мало часами подряд. Такое поведение длится около часа, и различные процессы отображаются с более 100 МБ чтения за этот период.
Чем можно объяснить эти большие цифры для нормально хорошо управляемых процессов? я думал atop
читать /proc/X/io
read_bytes
для этих чисел, которые должны быть достаточно точными для фактической деятельности EBS?