У нас есть экземпляры 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?