Какие единицы времени использует «топ»?

59

Если я введу команду "top" и получу такие результаты, как:

PID   USER  PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND   
00001 bob   25   0 77380 1212 1200 R 95.8  0.0  89122:13 fee         
00002 bob   25   0 77380 1196 1184 R 95.4  0.0  88954:14 fi         
00003 sam   18   0  427m  16m 6308 R 30.0  0.1  54:46.43 fo         
00004 sam   18   0  427m  16m 6308 R 26.5  0.1  52:55.33 fum         

Вопрос: Какие единицы измерения указаны в столбце «ВРЕМЯ +»?

Что я пробовал: (пожалуйста, предложите лучшую стратегию поиска документации ...)

  • man top | grep -C 4 time или же
  • man top | grep <X>когда я заменяю minute, hour, dayили HHдля X...
Abe
источник

Ответы:

47

минуты: seconds.hundredths

Поиск «ВРЕМЯ +» или «секунд» дает ответ, вроде (я бы не назвал справочную страницу понятной).

Этот формат унаследован от BSD, вы также получаете его с ps uили ps lпод Linux.

Жиль "ТАК - перестань быть злым"
источник
спасибо ... (я нашел TIME + из первого поиска, но был ошеломлен); могу ли я предположить, что 89122: 13 выражено в единицах MM: SS (89122 минуты и 13 секунд = 60 дней)?
Абэ
1
@Abe Да, 89122: 13 = 5347333 секунд ≈ 62 дня.
Жиль "ТАК - перестань быть злым"
1
@Abe Я думаю, что мы можем разделить это время на количество ядер и получить время с момента его запуска ...
PJunior
@ Жиль, я новичок в Linux. Какое время обозначает TIME +? Сколько времени выполняется работа?
mithusengupta123
@ mithusengupta123 Это количество процессорного времени, используемого процессом. Это может быть намного меньше, чем длительность процесса, если процесс не связан с процессором, например, процесс, который проводит большую часть времени в режиме ожидания, ожидая обработки запросов.
Жиль "ТАК - перестань быть злым"
57

psи topотображать время процессора, а не часы с момента запуска процесса. Один из способов проверить начало процесса - использовать следующую команду. Дата создания PID-файла - время начала процесса:

ls -ld /proc/pid

Так что для процесса 2303 это будет:

ls -ld /proc/2303
Пол Хеймиллер
источник
2
Я нигде не вижу, чтобы Жиль сказал, что значения показывают время в часах ...
Крис Даун,
Ну, по моему мнению, это приводит к ошибке.
PJunior
15
Ваш ответ полезен, но утверждение «другой ответ совершенно неверен», по моему мнению, не является точным. Первоначальный вопрос заключается в том, какие единицы используются. «Другой ответ» отвечает на это. Он просто не указывает, что это измерение времени процессора, а не часов. Ваш ответ проясняет это, и поэтому он полезен (но не отвечает на первоначальный вопрос). Я буду голосовать за ваш ответ, если вы уберете из своего ответа, что другой ответ «полностью неверен».
Джейсон С,
2
Похоже, что это не работает для длительного процесса (может быть, это не работает и для коротких заданий). Я вижу, что этот файл обновляется и по другой причине. Существует другой способ подсчета времени создания процесса ( stackoverflow.com/questions/5731234/… )
Ганеш,
У меня не сработало, после запуска процесса в течение 2 дней этот файл сообщал об очень недавнем измененном времени. Кроме того, ОП был "какие единицы", а это интересно ... не по теме.
Уилбур Уэйтли