Просмотр состояния процессов в динамике с помощью top

We use cookies. Read the Privacy and Cookie Policy

Команда ps предоставляет массу информации о том, что делается в компьютере, но она дает только мгновенный снимок, то есть возвращаемая ею информация действительна лишь на момент вызова команды. Чтобы увидеть работу компьютера в динамике, воспользуемся командой top:

[me@linuxbox ~]$ top

Программа top постоянно обновляет информацию о процессах (по умолчанию с периодом, равным 3 секундам), чтобы показать их активность с течением времени. Имя программы top отражает тот факт, что она используется для просмотра «топа» (наиболее активных) процессов в системе. Вывод команды top делится на две части: сводная информация о системе и таблица процессов, отсортированных по потреблению ими процессора:

top - 14:59:20 up 6:30, 2 users, load average: 0.07, 0.02, 0.00

Tasks: 109 total, 1 running, 106 sleeping, 0 stopped, 2 zombie

Cpu(s): 0.7%us, 1.0%sy, 0.0%ni, 98.3%id, 0.0%wa, 0.0%hi, 0.0%si

Mem: 319496k total, 314860k used, 4636k free, 19392k buff

Swap: 875500k total, 149128k used, 726372k free, 114676k cach

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

6244 me 39 19 31752 3124 2188 S 6.3 1.0 16:24.42 trackerd

11071 me 20 0 2304 1092 840 R 1.3 0.3 0:00.14 top

6180 me 20 0 2700 1100 772 S 0.7 0.3 0:03.66 dbus-dae

6321 me 20 0 20944 7248 6560 S 0.7 2.3 2:51.38 multiloa

4955 root 20 0 104m 9668 5776 S 0.3 3.0 2:19.39 Xorg

1 root 20 0 2976 528 476 S 0.0 0.2 0:03.14 init

2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd

3 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migratio

4 root 15 -5 0 0 0 S 0.0 0.0 0:00.72 ksoftirq

5 root RT -5 0 0 0 S 0.0 0.0 0:00.04 watchdog

6 root 15 -5 0 0 0 S 0.0 0.0 0:00.42 events/0

7 root 15 -5 0 0 0 S 0.0 0.0 0:00.06 khelper

41 root 15 -5 0 0 0 S 0.0 0.0 0:01.08 kblockd/

67 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod

114 root 20 0 0 0 0 S 0.0 0.0 0:01.62 pdflush

116 root 15 -5 0 0 0 S 0.0 0.0 0:02.44 kswapd0

Раздел со сводной информацией содержит массу интересных сведений. Описание выводимой в этом разделе информации приводится в табл. 10.3.

Таблица 10.3. Поля в разделе со сводной информацией команды top

Строка

Поле

Значение

1

top

Имя программы

14:59:20

Текущее время

up 6:30

Это поле называется uptime (продолжительность работы). Показывает время, прошедшее с момента последней загрузки системы. В данном примере система проработала 6? часа

2 users

В системе работают два пользователя

load average:

Средняя нагрузка (load average) — это число процессов, ожидающих возобновления работы; то есть число процессов, находящихся в состоянии «выполняется» и совместно использующих процессор. Здесь показаны три значения для разных интервалов времени. Первое значение отражает среднюю нагрузку за последние 60 секунд, второе — за последние 5 минут и третье — за последние 15 минут. Значения ниже 1.0 сообщают, что система не нагружена

2

Tasks:

Суммарное число процессов в разных состояниях

0.7%us

0,7% процессорного времени затрачено на выполнение пользовательских (user) процессов. Под этим подразумеваются процессы за пределами самого ядра

1.0%sy

1,0% процессорного времени затрачено на выполнение системных (system) процессов (ядра)

0.0%ni

0,0% процессорного времени затрачено на выполнение уступчивых (nice), то есть низкоприоритетных, процессов

98.3%id

1,0% процессорного времени составили простои

4

Mem:

Объем использованной физической памяти (ОЗУ)

5

Swap:

Объем использованного пространства в файле подкачки (виртуальная память)

Программа top принимает ряд команд с клавиатуры. Наибольший интерес представляет команда h, которая выводит экран со справочной информацией, и q, которая завершает top.

Оба основных окружения рабочего стола включают приложения с графическим интерфейсом, отображающие аналогичную информацию (подобно тому, как это делает Task Manager (Диспетчер задач) в Windows), но я считаю, что top лучше своих аналогов с графическим интерфейсом, потому что она работает быстрее и потребляет меньше системных ресурсов. В конце концов, программа мониторинга системы не должна замедлять систему, за которой мы наблюдаем.