Почему "top" показывает некоторые процессы, работающие дольше, чем время работы системы?
У меня проблема с моей системой, где phantomjs
продолжает работать после окончания своей работы. Чтобы устранить эту проблему, два дня назад я перезагрузил систему:
Сегодня, когда я побежал top
, Я видел это:
Если я правильно понимаю, эти два phantomjs
Процесс был там около 5 дней. Так они как-то пережили перезагрузку?
2 ответа
TIME+
В столбце указывается не время настенных часов в часах и минутах, а время процессора в минутах и секундах (и сотых долях секунды). На снимке экрана показаны два процесса phantomjs, каждый из которых занимал чуть более двух часов процессорного времени.
От man top
, раздел "3а. Описание полей":
29. TIME -- CPU Time
Total CPU time the task has used since it started. When Cumulative
mode is On, each process is listed with the cpu time that it and its
dead children have used. You toggle Cumulative mode with `S', which
is both a command-line option and an interactive command.
See the `S' interactive command for additional information regarding
this mode.
30. TIME+ -- CPU Time, hundredths
The same as TIME, but reflecting more granularity through hundredths
of a second.
Время ЦП означает, как долго одно ядро ЦП было занято обработкой этой задачи или (если включен режим накопления) любого из его дочерних элементов.
Это означает, что время ЦП вообще не связано со временем стены, оно, конечно, может быть меньше, чем время, в течение которого процесс выполняется в настенное время (если он все время не использует полное ядро ЦП), но оно также может быть дольше, чем реальное время выполнения процесса (если у вас многоядерный процессор и процесс использует более одного из них).