Назад | Перейти на главную страницу

Каким образом top рассчитывает использование ЦП в системе Linux с одним ядром?

Как рассчитывается использование ЦП в системе 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, хотя полную статью можно прочитать:

  • us - Процент процессорного времени, проведенного в пользовательском пространстве.
  • sy - Процент процессорного времени, проведенного в пространстве ядра.
  • ni - процент процессорного времени, потраченного на процессы с низким приоритетом.
  • id - процент простоя процессора.
  • wa - Процент процессорного времени, затраченного на ожидание (на диске).
  • hi - процент времени процессора, потраченного на обработку аппаратных прерываний.
  • si - процент времени процессора, потраченного на обработку программных прерываний.

(из 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

Вы можете щелкнуть по нему и получить дополнительную информацию оттуда.

Эта статья четко описывает это.

http://www.linuxjournal.com/article/9001