Они измеряют разные вещи.
От 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
(я являюсь автором htop
):
PERCENT_CPU (CPU%)
The percentage of the CPU time that the process is currently
using.
Так, в htop
это процент от общего числа Время процессора, используемое программой между последним обновлением экрана и теперь.
PercentageInHtop = (не время простоя процессора используется процесс в течение последнего 1.5s)/1.5s
В этом ps
процент времени процессора, используемых программой по отношению к общему времени она существует (т. е. с момента его запуска).
PercentageInPs = (не время простоя процессора используется процесс с момента запуска процесса)/(время, прошедшее с момента запуска процесса)
То есть, в вашем чтении означает, что htop
говорит, что служба принимает 12.3% вашего CPU сейчас, в то время как ps
говорит, что ваш сервис потратил 99,9% от его общей жизни.
Я не понял. Одновременно я читал выше. Если ps показывает мне использование процесса cpu% с момента запуска процесса, оно должно быть приблизительно равно или логически больше, чем htop, поскольку htop показывает чтение, так как я написал htop в моем терминале правильно? – anonymous255
Нет. Htop это процентное соотношение общего времени процессора, используемого программой между последним * обновлением экрана * (последний раз это пересчитанные значения) и теперь (другими словами, в течение последних 1,5 секунд, по умолчанию). –
Разве это не меньше, чем ps? – anonymous255