Почему "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.

Время ЦП означает, как долго одно ядро ​​ЦП было занято обработкой этой задачи или (если включен режим накопления) любого из его дочерних элементов.

Это означает, что время ЦП вообще не связано со временем стены, оно, конечно, может быть меньше, чем время, в течение которого процесс выполняется в настенное время (если он все время не использует полное ядро ​​ЦП), но оно также может быть дольше, чем реальное время выполнения процесса (если у вас многоядерный процессор и процесс использует более одного из них).

Другие вопросы по тегам