Что это означает, когда секунды использования процессора не увеличиваются, даже если процесс явно работает?
В системе Ubuntu 12.04 я использую Redis. Наш мониторинг рассматривает процесс redis и извлекает загрузку процессора из /proc/pid/stats. Отлично.
В течение десятков секунд это число вообще не увеличивается, затем оно внезапно догоняет и увеличивается на тысячи. Это продолжает взрываться таким образом.
В течение времени, когда оно не увеличивается, Redis быстро реагирует и сообщает о выполненных сотнях операций. Так ясно, что это намечено и работает.
(обновление: для нас, похоже, это происходит только в наших системах Ubuntu 3.13.0-48. Системы с ядром 3.5.x, на которых запущены аналогичные сервисы, не сталкиваются с этой проблемой).
Что это значит, когда утилита (и пользователь, и sys) действуют таким образом? Есть ли что-нибудь, что можно настроить, чтобы исправить это?
1 ответ
Я полагаю, вы смотрите на одну из записей в stat
это включает процессорное время, используемое дочерними процессами. Если так, то примечание в справочной странице Times (2) объясняет это...
Времена для прерванных потомков (и их потомков) добавляются в момент, когда wait (2) или waitpid (2) возвращают свой идентификатор процесса.