Почему команда «топ» показывает использование ЦП 799%?
Я запускаю процесс на 4-ядерном сервере Ubuntu. Однако команда top
показывает, что использование ЦП составляет 799%.
Как это возможно? Я знаю, что для многоядерных процессоров ожидается более 100% использования ЦП, но 799% - действительно высокое значение.
Может кто-нибудь объяснить мне, почему и когда это может произойти?
Edit:
В соответствии с предложением Грегори Мюссата, используя htop, я получил следующее:
1 ответ
Масштаб, используемый top
, составляет 100%, когда ядро полностью используется. Или когда одно ядро составляет 20%, а второе - 80%. Это приводит к странным результатам на многоядерных компьютерах, поскольку оно легко может превышать 100%.
Если у вас 8 ядер, то top
может отображаться от 0% (бездействующая система) до 800% (полная мощность).
Ваша программа использует только 4 ядра с гиперпотоком (так 8 виртуальных ядер) на максимальной емкости. Таким образом, вершина дает вам почти 8 x 100% = 800%.
Вы не можете явно указать JVM использовать один поток, он будет использовать несколько потоков для выполнения своей работы, даже если вы используете только один поток в своем приложении.
Вы можете использовать утилиту htop
как лучший top
. Вы увидите свою программу, используя все 8 ядер.