[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по управлению системой: Операционная система и устройства


Глава 11. Управление процессами

В этой главе описаны процедуры управления процессами.

Основная информация об управлении пользовательскими процессами (например, о повторном запуске, останове и планировании запуска процессов на определенное время) приведена в разделе Глава 11, Управление процессами книг Принципы управления системой AIX 5L версии 5.1: Операционная система и устройства и Руководство пользователя AIX 5L версии 5.1: Операционная система и устройства. В книге Руководство пользователя AIX 5L версии 5.1: Операционная система и устройства также определяются термины, относящиеся к процессам, такие как демоны и зомби.


Наблюдение за процессами

Основное средство наблюдения за процессами системы - это команда ps. Большую часть флагов команды ps можно отнести к одной из следующих категорий:

Для управления системой наиболее часто применяются следующие варианты запуска команды ps:

ps -ef Показывает для всех процессов, кроме процессов ядра, ИД пользователя, ИД процесса, полную и текущую нагрузку на CPU и команду запуска процесса (включая параметры).
ps -fuИД_пользователя Показывает для всех процессов, принадлежащих ИД_пользователя, ИД процесса, текущую и полную нагрузку на CPU и команду запуска процесса (включая параметры).

Для определения пользователей, процессы которых наиболее сильно загружают CPU, введите:

ps -ef | egrep -v "STIME|$LOGNAME" | sort +3 -r | head -n 15

Будет показан список из 15 наиболее интенсивно загружающих CPU процессов других пользователей, в порядке убывания.

Вы можете указать несколько флагов в команде ps, руководствуясь следующими таблицами:

Будут показаны процессы: Флаги выбора процессов:
-A -a -d -e -G
-g
-k -p -t -U
-u
a g t x
Все процессы + - - - - - - - - - + - -
Не связанные с терминалом, и не лидеры групп процессов - + - - - - - - - - - - -
Все, кроме лидеров групп процессов - - + - - - - - - - - - -
Все, кроме процессов ядра - - - + - - - - - - - - -
Члены указанной группы процессов - - - - + - - - - - - - -
Процессы ядра - - - - - + - - - - - - -
Указанные в списке номеров процессов - - - - - - + - - - - - -
Связанные с терм. из списка - - - - - - - +
(n терм.)
- - - +
(1 терм.)
-
Указанного польз. - - - - - - - - + - - - -
Связанные с терм. - - - - - - - - - + - - -
Не связанные с терм. - - - - - - - - - - - - +

 

Столбец: Флаги, выбирающие столбец:
По умолч. 1 -f -l -U
-u
По умолч. 2 e l s u v
PID + + + + + + + + + +
TTY + + + + + + + + + +
TIME + + + + + + + + + +
CMD + + + + + + + + + +
USER - + - - - - - - + -
UID - - + + - - + - - -
PPID - + + - - - + - - -
C - + + - - - + - - -
STIME - + - - - - - - + -
F - - + - - - - - - -
S/STAT - - + - + + + + + +
PIR - - + - - - + - - -
NI/NICE - - + - - - + - - -
ADDR - - + - - - + - - -
SZ/SIZE - - + - - - + - + +
WCHAN - - + - - - + - - -
RSS - - - - - - + - + +
SSIZ - - - - - - - + - -
%CPU - - - - - - - - + +
%MEM - - - - - - - - + +
PGIN - - - - - - - - - +
LIM - - - - - - - - - +
TSIZ - - - - - - - - - +
TRS - - - - - - - - - +
Среда
(после команды)
- - - - - + - - - -

Если команда ps запущена без флагов или с флагом выбора процессов, начинающимся со знака минус, будут показаны столбцы По умолчанию 2. Если команда запущена с флагом выбора процессов, не начинающимся со знака минус, будут показаны столбцы По умолчанию 2. Флаги -u и -U выбирают одновременно и процессы, и столбцы.

Ниже приведено краткое описание содержимого столбцов:

PID ИД процесса
TTY Терминал или псевдотерминал, связанный с процессом.
TIME Полное время процессора, затраченное на выполнение процесса, в минутах и секундах.
CMD Команда запуска процесса.
USER Имя пользователя - владельца процесса
UID ИД пользователя - владельца процесса
PPID ИД родительского процесса
C Использованное время CPU
STIME Время запуска процесса, если он был запущен менее 24 часов назад. Иначе - дата запуска процесса
F Восемь шестнадцатеричных цифр, описывающих флаги, связанные с процессом (см. описание команды ps)
S/STAT Состояние процесса (см. описание команды ps)
PRI Текущий приоритет процесса
NI/NICE Значение nice процесса
ADDR Номер сегмента стека процесса
SZ/SIZE Число страниц, выделенных под рабочие сегменты, умноженное на 4
WCHAN Событие, ожидаемое процессом
RSS Число страниц памяти, выделенных процессу под рабочие сегменты и под сегменты кода, умноженное на 4
SSIZ Размер стека для ядра
%CPU Использование процессом CPU, в процентах, за все время его работы
%MEM Номинальное количество реальной памяти, выделенной процессу, в процентах. Это число не должно совпадать с другими значениями использования памяти
PGIN Число обращений к страницам, при которых были обнаружены страничные ошибки. Поскольку весь ввод-вывод в системе организован на основе страничных ошибок, обычно это число характеризует интенсивность ввода-вывода.
LIM Всегда xx
TSIZ Размер текстового раздела исполняемого файла
TRS Число страниц, выделенных под сегменты кода, умноженное на 4
Среда Значения всех переменных среды процесса

Изменение приоритета процесса

Обычно, если вы обнаружили процесс, занимающий слишком много времени CPU, вы можете уменьшить его приоритет, увеличив значение nice командой renice. Например:

renice +5 ИД_процесса

Значение nice процесса с указанным ИД_процесса будет увеличено от обычного для интерактивного процесса значения 20 до значения 25. Для изменения величины nice для этого ИД_процесса на значение 20 у вас должны быть права доступа пользователя root. Введите:

renice -5 ИД_процесса

Принудительное завершение процесса

Для завершения процесса введите команду kill. Команда kill отправляет указанному процессу определенный сигнал. В зависимости от типа сигнала и программы, процесс может остановиться или продолжить выполнение. Для завершения обычно применяются следующие сигналы:

SIGTERM (Сигнал 15) - запрос на завершение программы. Если программа создала процедуру обработки сигнала SIGTERM, не завершающую приложение, вызов команды kill не приведет к желаемым результатам. Этот сигнал отправляется командой kill по умолчанию.
SIGKILL (Сигнал 9) - директива немедленного завершения процесса. Этот сигнал не может быть перехвачен или проигнорирован.

Обычно рекомендуется пользоваться сигналом SIGTERM, а не SIGKILL. Обработчик сигнала SIGTERM программы может выполнять очистку и нормальное завершение программы. Введите:

kill-term ИД_процесса

(Флаг -term можно опустить.) Если процесс не завершается сигналом SIGTERM, введите:

kill -killИД_процесса

Связывание процессов с процессорами

В многопроцессорных системах можно связать процесс с процессором или отменить это связывание с помощью:

Предварительные требования

Для управления связыванием процессов, не принадлежащих вам, у вас должны быть права пользователя root.

Задачи управления связыванием процессов
Задача Команда быстрого доступа SMIT Команда или файл
Связывание процесса smit bindproc bindprocessor -q
Отмена связывания smit ubindproc bindprocessor -u


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]