Почему команда «топ» показывает использование ЦП 799%?

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

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

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

Edit:

В соответствии с предложением Грегори Мюссата, используя htop, я получил следующее:

введите описание изображения здесь>> </p></body></html>

42 голоса | спросил Arpssss 4 PM000000110000005731 2012, 23:48:57

1 ответ


58

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

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

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

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

ответил Gregory MOUSSAT 5 AM000000120000004431 2012, 00:49:44

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132