чому показник htop лічильника> 90%, а таблиця - 0,0%?


12

Чому вимірювачі прогресу вгорі екрана htopпоказують, що використання процесора постійно перевищує> 90%, а цифри в таблиці нижче показують майже непрацюючу систему з використанням процесора та середнім завантаженням на рівні 0,0%?

часткове захоплення екрана на htop


1
У мене точно така ж проблема, і я також перебуваю на Dreamhost VPS (віртуальний приватний сервер).
подвійність_

До речі, подивіться на мій приклад, ще гірше: demo.ddesign.si/temp/dh3.png
подвійність_

Відповіді:


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) }'

+1 для пояснення; topзвіти аналогічно htop на цій машині. Vtop не перевірений як не встановлений. Позначивши це прийнятим, оскільки він відповідає "чому?", Хоча це не стосується неявного "і що з цим можна зробити?", Як це було
невиказано

4

Цей різновид невідповідності зазвичай вказує на велике використання процесора потоками ядра, які не відображаються htopза замовчуванням. Щоб відобразити їх, htopперейдіть до Setup, потім Display options, і зніміть прапорець Hide kernel threads. Це повинно дозволяти вам бачити нитки, які відповідають.

Ви також можете відключити цю поведінку, встановивши hide_kernel_threads0 дюймів ~/.htoprc.


2
дякую Кріс Я це зробив, але значення таблиці все ще 0%. Може, це щось своєрідне для роботи у віртуальній машині? Хост - це віртуальний приватний сервер (на Dreamhost.com).
matt wilkie

Для мене це більш правильна відповідь. У мене був процес, який займає багато процесора з ядра, і він не відображався в процесах простору користувача.
Патрік Чу

... за винятком того, що вимірювальні процесори HTop показують час ядра червоним кольором, а користувацький час зеленим, і ми можемо чітко бачити, що він майже весь зелений.
Математична

1

Спробуйте запустити htopс sudo. Вам потрібен кореневий доступ, щоб побачити ті активні потоки в таблиці.


Я не знаю, наскільки добре чи ні це працює в регулярних віртуалізованих середовищах, якщо є таке поняття, як регулярне, але не працює на Dreamhost VPS.
matt wilkie
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.