Как рассчитывается использование ЦП в системе Linux с одним ядром?
Cpu(s): 28.1%us, 6.5%sy, 0.0%ni, 43.0%id, 21.6%wa, 0.0%hi, 0.5%si, 0.2%st
Пожалуйста, объясните мне, как us
, sy
, ni
, id
, wa
, hi
, si
и st
значения получены.
Использование ЦП рассчитывается и отслеживается ядром. Точные методы и процессы, задействованные в этом, выходят далеко за рамки этого сайта (ServerFault).
Если вам интересно, что представляют собой значения, я взял этот хороший список с сайта IBM, хотя полную статью можно прочитать:
(из IBM... почему он встроен только в руководство по Java SDK, я не понимаю)
top
получает информацию из каталога / proc, который является специальным каталогом, который используется для запроса ядра, среди прочего, о статистике процесса. man proc
может дать вам больше информации о том, как настроить / proc.
/ proc / [pid] / stat результаты создаются этим кодом в ядре Linux.
http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/fs/proc/stat.c
Вы можете щелкнуть по нему и получить дополнительную информацию оттуда.
Эта статья четко описывает это.