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

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

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

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

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

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

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

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

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

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

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

  • Как создать Ubuntu LiveUSB, который также будет загружаться на Mac
  • Отключение ускорения мыши в X.Org (Linux)
  • Модальный диалог
  • Как установить Windows вместе с Ubuntu?
  • Как я могу заставить VirtualBox хорошо играть с двумя мониторами?
  • Linux. Задайте размер и размер экрана по умолчанию.
  • Двойная загрузка и виртуализация как Windows 8, так и Ubuntu
  • Как синхронизировать домашнюю папку между несколькими компьютерами?
  • Очистить историю раскрытия Firefox
  • Как автоматически создавать и устанавливать обои на основе случайных кавычек?
  • Как правильно установить ant 1.8 на Ubuntu 11.04
  • Interesting Posts

    Node async loop – как сделать этот код запущенным в последовательном порядке?

    Почему мы возвращаем возвращаемое значение malloc?

    Как я могу объяснить, почему DRM не может работать?

    Метод проверки полосы пропускания / скорости между двумя уставками

    Есть ли способ уменьшить расстояние между значками элементов действия на панели действий?

    Каков правильный способ представления номеров телефонов?

    как десериализовать JSON в IEnumerable с помощью Newtonsoft JSON.NET

    Json.NET Отключить десериализацию в DateTime

    Заказ streamов для запуска в том порядке, в котором они были созданы / запущены

    Как импортировать RecyclerView для Android L-preview

    Отключить просмотр SSL в Chrome

    Использование закодированного PEM-шифрованного закрытого ключа для подписи сообщения изначально

    Как вызвать метод после задержки в Android

    Какую задачу лучше всего выполнять в стиле функционального программирования?

    Почему для 64-разрядной версии Windows 7 требуется больше памяти, чем 32-разрядная?

    Давайте будем гением компьютера.