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