
2.3. Використання утиліти ps
Утиліта ps генерує звіт, який містить статистичні дані про виконання біжучих процесів. Цю інформацію ми можемо використати для контролю за станом процесів. В табл. 2 перелічено загальні заголовки і описано вихідні дані, які генеруються утилітою ps для середовища Solaris/Linux. В довільному багатопроцесорному середовищі ps вдало застосовується для моніторингу стану процесів, рівня (ступеня) використання ЦП і пам’яті, пріоритетів часу запуску біжучих процесів. Нижче подано командні опції, які дозволяють керувати інформацією, яка міститься у звіті (за їх допомогою можна уточнити, що власне і які процеси нас цікавлять). В середовищі Solaris за замовчуванням (без командних опцій) відображається інформація про процеси з тим же ідентифікатором ефективного користувача та керуючим терміналом ініціатора виклику. В середовищі Linux за замовчуванням відображається інформація про процеси, id користувача яких співпадає з id ініціатора запуску. В обох середовищах в цьому випадку відображається інформація, обмежена наступними складовими: PID, TTY, TIME і COMMAND. Подамо опції, які дозволяють отримати інформацію про потрібні процеси.
- t term |
Список процесів, пов’язаних з терміналом, заданих значенням term |
- e |
Всі біжучі процеси |
- a |
(Linux) Всі процеси з терміналом tty за виключенням лідерів сеансу (Solaris) Більшість процесів які запитуються часто за виключенням лідерів групи і процесів непов’язаних з терміналом |
- d |
Всі біжучі процеси за виключенням лідерів сеансу |
T |
(Linux) Всі процеси пов’язані з даним терміналом |
A |
(Linux) Всі процеси, за виключенням процесів інших користувачів |
r |
(Linux) Тільки процеси які виконуються |
Синопсис
(Linux)
ps – [опції в стилі Unix98]
[опції в стилі BSD]
- - [GNU – опції в довгому форматі]
(Solaris)
ps [ - aAdeflcjLPy] [ - o format] [ - t termlist] [ - u userlist]
[ - G grouplist] [- p proclist] [ -g pgrplist] [ - s sidlist]
В наступний список включені командні опції, які використовуються для керування інформацією про процеси, які відображаються:
- f |
повні роздруки |
- l |
в довгому форматі |
- j |
у форматі задання |
Наведемо приклад використання утиліти ps в середовищах Solaris Linux:
ps – f
За цією командою буде відображена повна інформація про процеси, яка виводиться за замовчуванням в кожному середовищі. На рис. 7. подано результат виконання цієї команди в середовищі Solaris. Командні опції можна використовувати тандемом (одна за однією рис. 7).
Таблиця 2. |
Загальні оголошення, які використовуються для утиліти ps в середовищах Solaris Linux |
|
Оголошення |
Опис |
|
USER, UID |
Ім'я користувача власника процесу |
|
PID |
ID процесу |
|
PPID |
ID батьківського процесу |
|
PGID |
ID процесу в групі, який є лідером |
|
SID |
ID лідер сеансу |
|
%CPU |
Коефіцієнт використання часу ЦП (в процентах) процесом на протязі останньої хвилини |
|
RSS |
Об’єм реального ОЗП, що займає процес в даний момент (Кбайт) |
|
%MEM |
Коефіцієнт використання реального ОЗП процесом на протязі останньої хвилини |
|
SZ |
Розмір віртуальної пам’яті, який зайнято даними та стеком процесу (Кбайт або сторінки) |
|
WCHAN |
Адрес події, в очікуванні якої процес перебуває в стані очікування |
|
COMMAND CMD |
Ім'я команди та аргументи |
|
TT, TTY |
Керуючий термінал процесу |
|
S, STAT |
Біжучий стан процесу |
|
TIME |
Загальний час ЦП, що використовується процесом (HH: MM: SS) |
|
STIME, START |
Час або дата старту процесу |
|
NI |
Фактор поступливості процесу |
|
PRI |
Пріоритет процесу |
|
C, CP |
Коефіцієнт короткочасного використання ЦП для обчислення планувальником значення PRI |
|
ADDR |
Адреса пам’яті, виділена процесу |
|
LWP |
ID потоку |
|
NLWP |
Кількість потоків |
Командна опція l дозволяє відобразити додаткові оголошення: F, S, C, PRI, NI, ADDR та WCHAN. При використанні командної опції P відображається оголошення PSR, який означає номер процесора, якому призначено (або за яким закріплюється) процес.
// SOLARIS |
|||||||||||||||||||||||
$ ps - f |
|||||||||||||||||||||||
|
UID |
PID |
PPID |
C |
STIME |
TTY |
TIME |
CMD |
|
|
|
|
|
|
|||||||||
|
cameron |
2214 |
2212 |
0 |
21:03:35 |
pts/12 |
0:00 |
- ksh |
|
|
|
|
|
|
|||||||||
|
cameron |
2396 |
2214 |
2 |
11:55:49 |
pts/12 |
0:01 |
nedit |
|
|
|
|
|
|
|||||||||
$ ps - lf |
|||||||||||||||||||||||
F |
S |
UID |
PID |
PPID |
C |
PRI |
NI |
ADDR |
SZ |
WCHAN |
STIME |
TTY |
TIME |
CMD |
|||||||||
8 |
S |
cameron |
2214 |
2212 |
0 |
51 |
20 |
70e80f00 |
230 |
70e80f6c |
21:03:35 |
pst/12 |
0:00 |
-ksh |
|||||||||
8 |
S |
cameron |
2396 |
2214 |
1 |
53 |
24 |
70d747b8 |
843 |
70152aba |
11:55:49 |
pst/12 |
0:01 |
nedit |
|||||||||
Рис. 7. Результати виконання команди ps - f та ps - lf в середовищі Solaris |
На рис. 8 показано результат виконання утиліти ps з використанням командних опцій Tux в середовищі Linux. Дані, які виводяться за допомогою оголошень %CPU, %MEM і STАT, відображаються для процесів. В багатопроцесорному середовищі за допомогою цієї інформації можемо дізнатися, які процеси є домінуючими з точки зору використання часу ЦП і пам’яті. Оголошення STАT відображає стан або статус процесу. Нижче подано символи, які позначають статус, і відповідний опис. Оголошення STАT дозволяє дізнатися додаткову інформацію про статус процесу.
D (BSD) Очікує доступу до диску
P (BSD) Очікує доступу до сторінки