Почему Процесс Использование % ЦП, больше, чем Общее Процессорное время

Использовать pkill -U UID или pkill -u UID или имя пользователя вместо UID. Иногда skill -u USERNAME может работать, другой инструмент killall -u USERNAME.

Навык был определенным для Linux и теперь устарел, и pkill является более портативным (Linux, Солярис, BSD).

pkill позволяют и numberic и символьный UIDs, эффективный и реальный http://man7.org/linux/man-pages/man1/pkill.1.html

pkill-... предупредите о процессах на основе имени и других атрибутов

    -u, --euid euid,...
         Only match processes whose effective user ID is listed.
         Either the numerical or symbolical value may be used.
    -U, --uid uid,...
         Only match processes whose real user ID is listed.  Either the
         numerical or symbolical value may be used.

В странице справочника навыка говорится, это, позволил только использовать имя пользователя, не идентификатор пользователя: http://man7.org/linux/man-pages/man1/skill.1.html

навык, snice... Эти инструменты являются устаревшими и непортативными. Синтаксис команды плохо определяется. Рассмотрите использование killall, pkill

  -u, --user user
         The next expression is a username.

killall не отмечен как устаревший в Linux, но он также не будет работать с numberic UID; только имя пользователя: http://man7.org/linux/man-pages/man1/killall.1.html

killall - уничтожьте процессы по имени

   -u, --user
         Kill only processes the specified user owns.  Command names
         are optional.

Я думаю, любая утилита, используемая, чтобы найти, что процесс в Linux/Солярисе разрабатывает/proc (procfs), будет использовать полный список процессов (выполнение некоторого readdir /proc). Я думаю, они выполнят итерации /proc цифровые подпапки и проверка каждый найденный процесс для соответствия.

Для получения списка пользователей использовать getpwent (это получит одного пользователя на вызов).

навык (procps и procps-ng) и killall (psmisc) инструменты оба использования getpwnam вызов библиотеки для парсинга аргумента -u опция и только имя пользователя будут проанализированы. pkill (procps и procps-ng), использует и атолл и getpwnam для парсинга -u/-U аргумент и позволяет и числовой и текстовый пользовательский спецификатор.

12
28.06.2011, 22:01
1 ответ

Irix / Режим Соляриса (man 1 top):

     <I> :Irix/Solaris_Mode_toggle
          When operating in  'Solaris  mode'  ('I'  toggled  Off),  a
          task's  cpu  usage  will  be divided by the total number of
          CPUs.  After issuing this command, you'll  be  informed  of
          the new state of this toggle.


...

      if 'Irix mode' is Off,  top  will  operate  in
      'Solaris  mode' where a task's cpu usage will be divided by the
      total number of CPUs.  You toggle 'Irix/Solaris' modes with the
      'I' interactive command

Позвольте говорят N общее количество центральных процессоров. Затем В Irix режим, %CPU использование ЦП из N * 100%. В Solaris режим,%CPU %CPU in Irix mode / N.

См.: Comprehending 'top' CPU usage


Править:

общее пользовательское процессорное время составляет 43%

Я думаю, что Вы проигнорировали %system (Процент загрузки ЦП для выполнения в системе (ядро) уровень.) время. Попробуйте другие инструменты как mpstat,iostat и sar для анализа загрузки ЦП.

10
27.01.2020, 19:56
  • 1
    Привет John, %system время был близок 0. Я пытаюсь понять несоответствие. Это могла быть неверная конфигурация VM, не сообщив об использовании CPU правильно? –  Brig 28.06.2011, 21:59

Теги

Похожие вопросы