Команда top на многоядерном процессоре Ubuntu показывает использование процессора> 100%

16

введите описание изображения здесь

У меня Ubuntu работает на многоядерном процессоре с 32 ядрами. Когда я проверял использование процессора с помощью команды top, иногда он показывает более 100%, например, 340%, 650% и т. Д. Я провел некоторое исследование и обнаружил, что на самом деле это сумма использования в разных ядрах. Например, если 1-е использование ЦП составляет 20%, 2-е - 30%, 3-е - 40%, а оставшиеся - 0%, тогда «top» показывает 20 + 30 + 40 = 90%.

Это немного сбивает с толку и вводит в заблуждение. Я считаю, что верхняя команда должна отображать загрузки ЦП в диапазоне от 0 до 100 путем расчета использования по всем ядрам. В моем примере выше, я бы ожидал - (90 * 100) / 3200 = 2,8125%. Это ошибка с верхней командой? это следует рассматривать как улучшение для будущих выпусков? пожалуйста, порекомендуйте

Пунам Шриватава
источник
Это не ошибка, это стандартное topповедение, и, вероятно, его слишком сложно изменить. Однако ничто не мешает вам использовать другую команду с другим соглашением об отчетности :)
0xF2
1
Из любопытства, что это за процессор? Одна из этих новомодных систем ARM64?
0xF2
ЦП1 и ЦП2 - ЦП Intel Xeon® R E5-2670 с частотой 2,60 ГГц (8 ядер)
Poonam Srivatava,

Ответы:

22

По умолчанию topотображает использование ЦП в процентах от одного ЦП. В многоядерных системах процент загрузки ЦП превышает 100%. Вы можете переключить это поведение, нажав Shift+ iво время работы top, чтобы показать общий процент доступных процессоров.

htopэто лучшая альтернатива top. В htop, вы можете увидеть, как ваши программы потребляют все 32 ядра.

Тун Чан
источник
Здравствуйте - спасибо за это понимание. Я новичок в работе над многоядерной системой, поэтому мне интересно, почему все ядра используются в этом случае. Иногда у меня похожее поведение, когда я не выполняю параллельные операции. Кажется, это зависит от размера моей работы и требуемой памяти (я работаю с R). Кажется, что все замедляется, когда происходит это распространение на другие процессоры.
Марк в ложе
1

похоже, я нашел способ :-), если я переключаюсь в режим соляриса при запуске команды top, это показывает правильное использование процессора. Чтобы переключиться в режим соляриса, сначала запустите команду top, затем нажмите shift + i

справочные статьи

https://help.gnome.org/users/gnome-system-monitor/stable/solaris-mode.html.en /unix/15733/why-process-cpu-usage-larger -than итог-CPU-время

Пунам Шриватава
источник