43

Я запускаю процесс на 4-х ядерном сервере Ubuntu. Однако команда top показывает, что загрузка ЦП постоянно составляет 799%.

Как это может быть возможным? Я знаю, что для многоядерных процессоров ожидается более 100% использования процессора, но 799% - это действительно высокое значение.

Кто-нибудь может объяснить мне, почему и когда это могло произойти?

Редактировать:

По предложению Грегори МУССАТА, используя htop, я получил следующее:

1 ответ1

59

Масштаб, используемый top составляет 100%, когда ядро полностью используется. Или когда одно ядро составляет 20%, а второе - 80%. Это приводит к странным результатам на многоядерных компьютерах, поскольку он может легко превысить 100%.
Если у вас 8 ядер, то top может отображать от 0% (в режиме ожидания) до 800% (при полной мощности).

Ваша программа просто использует ваши 4 ядра с гиперпоточностью (то есть 8 виртуальных ядер) на максимальной мощности. Так что топ дает вам почти 8 х 100% = 800%.

Вы не можете явно указать JVM использовать один поток, он будет использовать несколько потоков для своей работы, даже если вы используете только один поток в своем приложении.

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

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