Огромная разница между выходом htop и ps aux
Я запускаю тест на Ubuntu 14.04. Когда я проверяю использование моего процессора с помощью "ps aux|grep service", тогда загрузка процессора составляет 0,1 от процесса, тогда как в htop для того же процесса CPU% составляет 12,3.
Кто-нибудь может сказать мне причину? или какое значение я должен считать правильным?
Спасибо
1 ответ
Они измеряют разные вещи.
От ps
человек-страница:
CPU usage is currently expressed as the percentage of time spent
running during the entire lifetime of a process. This is not ideal,
and it does not conform to the standards that ps otherwise conforms to.
CPU usage is unlikely to add up to exactly 100%.
От htop
man-страница (я автор htop
):
PERCENT_CPU (CPU%)
The percentage of the CPU time that the process is currently
using.
Итак, в htop
это процент от общего процессорного времени, используемого программой между последним обновлением экрана и текущим временем.
PercentageInHtop = (время простоя процессора, используемое процессом в течение последних 1,5 с) / 1,5 с
В ps
это процент времени процессора, используемого программой, относительно общего времени, в течение которого она существует (т. е. с момента ее запуска).
PercentageInPs = (время бездействия процессора, используемое процессом с момента запуска процесса) / (время, прошедшее с момента запуска процесса)
То есть в вашем чтении это означает, что htop
говорит, что служба занимает 12,3% вашего процессора сейчас, в то время как ps
говорит, что ваш сервис провел 99,9% от общей простоя.