Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Команда Top в Linux

Оригинал: Understanding the Top command on Linux
Автор: AlexioBash
Дата публикации: 28 августа 2012 г.
Перевод: А.Панин
Дата публикации перевода: 20 ноября 2012 г.

Для оптимизации работы операционной системы, на мой взгляд, в первую очередь необходимо знать о процессах, происходящих в ней в реальном времени. В ArchLinux и в системах GNU/Linux нам может помочь в этом программа top, являющаяся очень удобным системным монитором, который очень просто использовать и который позволяет понять причины нестабильной работы операционной системы и обнаружить процессы, потребляющие большинство системных ресурсов. Команда для запуска программы представлена ниже:
$ top

После запуска мы увидим в терминале вывод, аналогичный представленному ниже:
top

Давайте рассмотрим каждую строку вывода по очереди и определимся с информацией на экране.

1 строка - общая информация (top)

1 строка top
Первая строка выводит данные по порядку:
  • текущее время (11:37:19)
  • время работы системы (up 1 day, 1:25)
  • количество открытых пользовательских сессий (3 users)
  • среднюю загрузку системы (load average: 0.02, 0.12, 0.07), три значения соответствуют загрузке в последнюю минуту, пять минут и пятнадцать минут соответственно.

2 строка - статистика процессов (task)

2 строка top
Вторая строка выводит следующие данные:
  • общее количество процессов в системе (73 total)
  • количество работающих в данный момент процессов (2 running)
  • количество ожидающих событий процессов (71 sleeping)
  • количество остановленных процессов (0 stopped)
  • количество процессов, ожидающих родительский процесс для передачи статуса завершения (0 zombie)

3 строка - статистика использования центрального процессора (cpu)

3 строка top
В третьей строке приводится информация об использовании центрального процессора. Если вы просуммируете все значения, в результате у вас должно получиться 100%. Давайте рассмотрим предназначение полей этой строки по порядку:
  • процент использования центрального процессора пользовательскими процессам (0.3%us)
  • процент использования центрального процессора системными процессами (0.0%sy)
  • процент использования центрального процессора процессами с приоритетом, повышенным при помощи вызова nice (0.0%ni)
  • процент времени, когда центральный процессор не используется (99,4%id)
  • процент использования центрального процессора процессами, ожидающими завершения операций ввода-вывода (0.0%wa)
  • процент использования центрального процессора обработчиками аппаратных прерываний (0.3%hi - Hardware IRQ (аппаратные прерывания))
  • процент использования центрального процессора обработчиками программных прерываний (0.0%si - Software Interrupts (программные прерывания))
  • количество ресурсов центрального процессора "заимствованных" у виртуальной машины гипервизором для других задач (таких, как запуск другой виртуальной машины); это значение будет равно нулю на настольных компьютерах и серверах, не использующих виртуальные машины (0.0%st - Steal Time (заимствованное время)).

4 и 5 строки - статистика использования памяти (memory usage)

4 и 5 строки top
В четвертой и пятой строке выводится информация об использовании физической оперативной памяти и раздела подкачки соответственно. Значения в порядке следования: общее количество памяти (2057720k total), количество используемой памяти (778860k used), количество свободной памяти (1279160k free), количество памяти в кэше буферов (31976k buffers). Статью, описывающую эти параметры в подробностях, вы можете прочитать по ссылке.

Следующие строки - список процессов

Список процессов top
Последним источником информации является список процессов, отсортированный по степени использования центрального процессора (по умолчанию). Давайте рассмотрим значения столбцов списка:
  • PID - идентификатор процесса (4522)
  • USER - имя пользователя, который является владельцем процесса (root)
  • PR - приоритет процесса (15)
  • NI - значение "NICE", влияющие на приоритет процесса (0)
  • VIRT - объем виртуальной памяти, используемый процессом (132m)
  • RES - объем физической памяти, используемый процессом (14m)
  • SHR - объем разделяемой памяти процесса (3204)
  • S - указывает на статус процесса: S=sleep (ожидает событий) R=running (работает) Z=zombie (ожидает родительский процесс) (S)
  • %CPU - процент использования центрального процессора данным процессом (0.3)
  • %MEM - процент использования оперативной памяти данным процессом (0.7)
  • TIME+ - общее время активности процесса (0:17.75)
  • COMMAND - имя процесса (bb_monitor.pl)

Заключение

Теперь, после рассмотрения в подробностях вывода программы "top", вам будет проще понять причину чрезмерной загрузки и/или медленной работы системы.

Хорошей альтернативой программе "top" может служить программа "htop", являющаяся следующим этапом эволюции первой с удивительными дополнительными возможностями.