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


47

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

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

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

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

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

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


1
4 ядра имеют по 2 потока в каждом (например, Intel Core i7)?
Ренан

@Renan, я запускаю его в одном потоке.
Arpssss

Хорошо, тогда. Потому что я видел это на некоторых системах i7.
Ренан

1
Но является ли JVM однопоточным?
Игнасио Васкес-Абрамс

6
Это действительно похоже на полностью загруженный i7, я обычно получаю это при кодировании видео
nohillside

Ответы:


65

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

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

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

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


Вы можете ограничить любой набор процессов набором ядер или ограничить% процессора. Однако я не помню команд. (один - cpulimit)
ctrl-alt-delor

+1 за htop, намного лучше, чем поверх или сверху
CodeLikeBeaker

+1 за хтоп. Это помогло мне прижать две темы, жадные до процессора!
Арун

3
Все градаhtop
fragamemnon
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.