3

Мне трудно понять, что выводит ps и top?

Это вывод по началу:

PID    PSID USERNAME  TID  PRI NICE  SIZE  RES  STATE  TIME    CPU   COMMAND
26439 23712 soumyau  26439  15    0 7512M 5234M sleep 286:25  16.67% or_lse2 (18)
26523 23712 soumyau  26439  -2    0 7512M 5234M cpu9  143:10   8.33% or_lse2
26522 23712 soumyau  26439  -2    0 7512M 5234M cpu3  143:10   8.33% or_lse2

Это с помощью ps (ps -L -p 26439 -o pcpu,psr,pid,user,tid):

%CPU  PSR   PID   USER       TID
99.9   3   26439 soumyau    26522
99.9   9   26439 soumyau    26523
0.0    8   26439 soumyau    26439

Почему есть различия в двух результатах?

Не могли бы вы вкратце объяснить значимость двух CPU%?

3 ответа3

5

ps основывается на накопленной загрузке ЦП (с момента запуска процесса), где% ЦП - это среднее значение (общее / время).

top сообщает (среднее) использование ЦП с момента последней выборки.

Для справки смотрите этот фрагмент от man ps

Загрузка ЦП в настоящее время выражается в процентах времени, потраченного на выполнение в течение всего времени жизни процесса. Это не идеально, и это не соответствует стандартам, которым в противном случае соответствует PS. Загрузка процессора вряд ли составит ровно 100%.

и от man top

Доля задачи, затраченная с момента последнего обновления экрана, в процентах от общего времени ЦП. В реальной среде SMP, если «Режим Irix» выключен, top будет работать в «Режиме Solaris», где загрузка ЦП задачи будет разделена на общее количество процессоров. Вы можете переключать режимы «Irix /Solaris» с помощью интерактивной команды «I».

0

Команда 'ps', показывающая весь процесс по времени. который имеет весь процесс. Его не волнует состояние процесса (работает или спит).

команда 'top', показывающая запущенный процесс в верхнем порядке. Вот почему вы можете увидеть изменения в выводе. Некоторые процессы в первой строке через некоторое время переходят во вторую или третью свои зависимости от состояния процесса.

0

Разница действительно только в том, разделена она на количество ядер или нет.

в основном PS показывает вывод НЕ делится на количество ядер
вместо вершины, которая может работать в двух режимах
Нажмите:

[SHIFT]+[I]
переключаться в / из режима Irix
и / или вы увидите те же цифры, что и в пс

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .