что означает CPU% в `ps auxf` для процессов с отношениями родитель / потомок?

1

Когда я использую ps auxf отображать информацию о процессе с ASCII художественная иерархия процессов , Процессы с родительским / дочерним отношением перечислены ниже.

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       389  0.0  0.0  21476  1284 ?        Ss    2014   0:00 /sbin/udevd --daemon
root      6567  0.0  0.0  21472   840 ?        S     2014   0:00  \_ /sbin/udevd --daemon
root      6568  0.0  0.0  21472   840 ?        S     2014   0:00  \_ /sbin/udevd --daemon

Мне интересно как ps вычисляет ресурсы (CPU, mem), которые они используют, они независимы или есть общая сумма?

Заранее спасибо.

cizixs
источник

Ответы:

1

Это зависит от столбца ps Вы активировали. Если вы видите в man ps в разделе СТАНДАРТНЫЕ ФОРМАТЫ сначала вы найдете:

% cpu% загрузка ЦП процесса в формате "##. #". В настоящее время это использованное время процессора, деленное на время выполнения процесса (отношение cputime / realtime), выраженное в процентах. Это не добавит до 100%, если вам не повезет. (псевдоним pcpu).

а также после

CP CP на процессор (десятые доли процента) использования процессора. (см.% процессора).
cputime ВРЕМЯ кумулятивный Время процессора, формат [[DD-] чч: мм: сс ». (псевдоним времени).

Подчеркиваю, что позже вы снова найдете примечание:

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

Вы можете найти интересное S за что это касается зомби потраченные впустую ресурсы в ВЫХОДНЫЕ МОДИФИКАТОРЫ раздел и мем для использования памяти:

% mem% MEM Отношение размера резидентного набора процесса к физической памяти на машине, выраженное в процентах. (псевдоним pmem).

Hastur
источник