почему htop meter показывает> 90%, а таблица - 0.0%?

12

Почему индикаторы прогресса в верхней части экрана htopпоказывают, что загрузка ЦП постоянно превышает> 90%, а цифры в таблице ниже показывают почти бездействующую систему с загрузкой ЦП и средней загрузкой на уровне 0,0%?

частичный захват экрана htop

Мэтт Уилки
источник
1
У меня точно такая же проблема, и я также на Dreamhost VPS (виртуальный частный сервер).
Duality_
Кстати, посмотрите на мой пример, это еще хуже: demo.ddesign.si/temp/dh3.png
duality_

Ответы:

6

htopне знает, что работает в виртуализированной среде на уровне ядра ( Dreamhost VPS использует технологию VServer ). Затем он показывает загрузку ЦП для всех экземпляров ОС, использующих одно и то же ядро, а не только ваше.

Посмотрите на vtopвывод, который показывает все процессы, разделяющие процессоры, а не только те, которые находятся в вашем контейнере.

Если vtopон не установлен, и это, вероятно, ожидается для коммерческого решения, так как никто не хотел бы, чтобы клиент видел, какие процессы выполняются другими клиентами, нет способа исправить проблему изнутри вашего контейнера, если не topустановить исправления для вычисления источника Использование процессора вместо получения статистики ядра.

Это может быть сделано путем суммирования использования ЦП всеми процессами, запущенными на вашем VServer, например:

ps aux | awk '
    {cpu+=$3; ram+=$6} 
    END {printf("cpu: %d%%, RAM: %.2f MiB\n",cpu,ram/1024) }'
jlliagre
источник
+1 за объяснение; topОтчеты аналогично htop на этой машине. Vtop не проверен, так как не установлен. Пометить это как принятое, потому что оно отвечает «почему?», Хотя это не относится к неявному «и что с этим можно сделать?»,
Поскольку
4

Такое несоответствие обычно свидетельствует о высокой загрузке процессора потоками ядра, которые htopпо умолчанию не отображаются . Чтобы отобразить их, htopвойдите в Setup, затем Display options, а затем снимите флажок Hide kernel threads. Это должно позволить вам увидеть поток (ы), которые несут ответственность.

Вы также можете отключить это поведение, установив hide_kernel_threads0 в ~/.htoprc.

Крис Даун
источник
2
спасибо Крис Я сделал это, но значения таблицы по-прежнему 0%. Может быть, это что-то особенное для работы на виртуальной машине? Хост - это виртуальный частный сервер (на Dreamhost.com).
Мэтт Вилки
Для меня это более правильный ответ. У меня был процесс, который занимал много процессорного времени у ядра, и он не обнаруживался в процессах пространства пользователя.
Патрик Чу
... за исключением того, что измерители процессоров HTop показывают время ядра красным и время пользователя зеленым, и мы ясно видим, что оно почти все зеленое.
Математическая
1

Попробуйте запустить htopс sudo. Вам нужен root-доступ, чтобы увидеть эти активные потоки в таблице.

HAL 9001
источник
Я не знаю, насколько хорошо это работает в обычных виртуальных средах, если есть такая вещь, как обычные, но не работает на VPS-сновидениях.
Мэтт Уилки