Серверы обычно создаются для высокой пропускной способности вместо высокой скорости отклика, таким образом, необходимо иметь это в виду при оценке скорости отклика системы сервера.
htop
не знает, что это работает на виртуализированной среде уровня ядра (Dreamhost VPS использует технологию VServer). Это затем показывает использование ЦП для всех экземпляров ОС, совместно использующих то же ядро, не просто Ваш.
Взгляните к vtop
вывод, который sho ws все процессы, совместно использующие центральные процессоры, не только тех в Вашем контейнере.
Если vtop
не установлен, и это, вероятно, ожидается для коммерческого решения, поскольку нельзя было бы хотеть клиенту видеть, какие процессы выполняют других клиентов, нет никакого способа устранить проблему из Вашего контейнера, если исправление top
источник для вычислений использования ЦП вместо того, чтобы получить его от статистики ядра.
Это могло бы сделать это путем подведения использования ЦП всех процессов, работающих в VServer, например:
ps aux | awk '
{cpu+=$3; ram+=$6}
END {printf("cpu: %d%%, RAM: %.2f MiB\n",cpu,ram/1024) }'
Этот вид несоответствия обычно показателен из высокого использования процессора потоками ядра, которые не отображены в htop
по умолчанию. Отобразить их, в htop
перейдите в Setup
, затем Display options
, и затем снимите флажок Hide kernel threads
. Это должно позволить Вам видеть поток (потоки), которые ответственны.
Можно также отключить это поведение путем установки hide_kernel_threads
к 0 дюймам ~/.htoprc
.
Попытайтесь запуститься htop
с sudo
. Вы должны базироваться доступ для наблюдения тех активных потоков в таблице.
top
отчеты так же htop на этой машине. Vtop, не протестированный как не установленный. Отмечание этого, как принято, потому что это отвечает "почему?", хотя это не обращается к неявному "и что может делаться с этим?", поскольку это было не высказано – matt wilkie 22.03.2013, 19:49