Администрирование локальных сетей

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

л fork-нут.

 

$ ps -f

UID PID PPID C STIME TTY TIME COMMAND

torry 3286 2016 9 16:19:03 ttyp1 0:00 ps -f

torry 25705 25649 0 08:47:58 ttyp1 0:02 -ksh /home/torry [ksh]

torry 2016 25705 0 15:13:02 ttyp1 0:24 vi processes.tag

 

Опция e приводит к выдаче информации о всех активных процессах в системе. Опция -l (long) дополнительно показывает состояние процесса (S), параметр nice (NI), адрес процесса в памяти (ADDR), приоритет (PRI), и размер в блоках (SZ) образа процесса.

 

$ ps -l

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME COMD

1 R 513 11009 7793 5 179 20 d6e200 16 ttyu4 0:00 ps

1 S 0 7792 133 15 154 20 e06100 13 214fb0 ttyu4 0:00 rlogind

1 S 513 7793 7792 16 168 20 df5a80 52 7ffe6000 ttyu4 0:00 csh

 

Относительные приоритеты процессов -- nice и renice

 

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

 

Команда renice позволяет изменять приоритеты уже запущеных процессов.

 

 

 

Программы для мониторинга производительности системы

 

top

 

Периодически показывает информацию о процессах в системе в порядке убывания использования ресурсов. Суммирует состояние системы (среднюю загрузку), использование виртуальной памяти. В отличии от psкоторый дает лишь снимок текущего состояния системы top выдает информацию с периодичностью. На мультипроцессорных системах, top выдает состояние каждого процессора раздельно.

 

 

 

 

sar

 

Выдает суммированую статистику о системной активности включая загрузку CPU, активность буферов, количество опреций ввода-вывода, терминальную активность, число системных, активность свопинга и п.р.

vmstat

 

Выдает информацию об использовании виртуальной памяти и активность CPU.

 

iostat

 

Выдает информацию об дисковой активности ввода-вывода, терминальной активности статистику CPU.

 

 

Управление процессами и ядро системы

 

Процесс может иметь доступ на чтение и запись к своему сегменту данных и стеку но не к другим процессам (за исключением сегментов разделяемой памяти). Процесс обменивается данными с другими процессами либо через системные вызовы либо через разделяемую память.

 

Приоритеты процесса

 

Все процессы в HP-UX могут находится в двух режимах: пользовательский режим и режим ядра. Когда процесс переключается в режим ядра (например при системном вызове) он исполняет код ядра и пользуется стеком ядра. В зависимости от приоритета и наличия других процессов процесса планировцик процессов может выделять ему больше или меньше квантов процессорного времени.

Приоритеты можно разделить на две части: диапазон POSIX standard приоритетов и диапазхон HP-UXприоритетов. POSIX standard приоритеты всегда выше чем все другие HP-UX приоритеты. Процесс который имеет меньшее числовое значение приоритета имеет преимущество при выполнении над процессом с большим цифровым значением приоритета. Следующий список выводит по категориям диапазоны приоритетов от большого к маленькому:

 

1. POSIX standard приоритеты (системный параметр)

 

POSIX standard приоритеты, известные как RTSCHED приоритеты, являются самыми

высокими приоритетами. Количество RTSCHED приоритетов есть системный параметр

(rtsched_numpri), устанавливаемый между 32 и 512 (default 32).

2. приоритеты реального времени (0-127)

 

Зарезервированы для процессов SCHED_RTPRIO стартующих с системного вызова

rtprio()

 

3. Системные приоритеты (128-177)

 

Используются системными процессами.

 

4. Пользовательские приоритеты (178-255)

 

Устанавливаются пользовательским процессам.

 

Ядро может изменять приоритеты процессов разделения времени (128-255) но не процессов реального времени (0-127).

 

 

Состояние процесса

 

В процессе своей жизни процесс может менять несколько раз свое состояние.Процессы размиещаются в очередях выполнения планировщика процесса в соответствии с их состоянием как определено в файле /usr/include/sys/proc.h . События, такие как получение сигнала могут переводить процесс из одного состояния в другое.

 

Процесс может находится в одном из следующих состояний:

 

* idle процесс простаивает в очереди выполнения планировщика.

 

* run -процесс выполняется в очереди планировщика либо в пользовательском режиме либо в режиме ядра.

 

* stopped процесс остановлен сигналом либо процессом родителем.

 

* sleep процесс не выполняется пока он находится в спящем состоянии в очереди

(например он ждет окончания операции ввода-вывода)

 

* zombie процесс уже фактически не существует, но так как он оставил для родителя

некоторые непрочитанные данные о своем выполнении он не может осуществить завершение.

 

Когда программа запускает прооцесс, ядро выделяет для него сроку из своей таблицы процессов и процесс находится в idle состоянии. Затем после получения ресурсови попадания в очередь он находится в состоянии run. Если процесс получкает сигнал SIGSTOP или его переводлят в режи трассировки, он переходит в stop состояние. После получения сигнала SIGCONT signal, процесс возвращается в состояние run. Если запущеный процесс ждет освобождение какихто ре