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), которые они используют, являются ли они независимыми или это общая сумма?

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

1 ответ1

1

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

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

и после

CP CP- per-mill (десятые доли процента) загрузки процессора. (см.% процессора).
cputime TIME - совокупное время ЦП, формат «[DD-] чч: мм: сс». (псевдоним времени).

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

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

Вы можете найти интересный S для ресурсов зомби, потраченных впустую, в разделе OUTPUT MODIFIERS и mem для использования памяти:

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

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