Здравствуйте!

После установки ядра 2.6.32-ovz-el-alt70 столкнулся с тем, что внутри контейнеров перестали учитываться iowait и idle CPU time в /proc/stat.
В результате имеем следующую картину в контейнере:
1) cat /proc/stat
cpu  265519 32541 83101 0 0 0 0 4758
cpu0 110591 6482 22605 0 0 0 0 1610
cpu1 66653 11526 26524 0 0 0 0 1498
cpu2 44562 5746 14750 0 0 0 0 812
cpu3 43711 8786 19221 0 0 0 0 836
intr 0
swap 0 0
Учитываются usr,sys,nice,sirq. Остальное всегда 0;

2) vmstat в контейнере падает:
vmstat 1 999
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 1867204 0 391488 0 0 1063 748 0 1096 77 22 0 0 1
Floating point exception
Похоже, что происходит это в не сильно загруженных контейнерах, когда за 1 период измерений usr,sys,nice и sirq оказываются нулями, в результате чего при расчете процентов vmstat делит на 0;

3) top в контейнере показывает или полное отсутствие загрузки CPU (то есть по нулям все, включая idle), или неадекватные цифры sys,user и nice (причина похоже в том, что idle и iowait всегда 0, из-за чего неправильно считается процентное отношение загрузки);

4) Monit в контейнере также пказывает неадекватные цифры загрузки CPU, о чем постоянно жалуется.

На ядре 2.6.32-ovz-el-alt60 подобных проблем не замечалось. Среди изменений между alt60 и alt70 встречаются [fairsched] accuracy of idle/iowait time stats reported through /proc/stat has been increased (PCLIN-30724) в 042stab056.8, [scheduler] idle time stat reported by /proc/stat has been corrected (PCLIN-30773) в 042stab056.11.

Подскажите пожалуйста - это такая политика партии теперь - не считать idle в контейнерах и нужно отключать мониторинг загрузки CPU в них, или это все-таки баг?

--
WBR, Alex Moskalenko

_______________________________________________
Sysadmins mailing list
Sysadmins@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/sysadmins

Ответить