TOP(1) Команди користувача TOP(1)

НАЗВА

top — показ процесів Linux

КОРОТКИЙ ОПИС

top [параметри]

ОПИС

Програма top забезпечує динамічний перегляд у режимі реального часу запущеної системи. Вона може показувати загальні відомості щодо системи, а також список процесів або потоків обробки, якими зараз керує ядро Linux. Користувач може налаштовувати будь-які типи показаних загальних відомостей щодо системи, порядок і тип відомостей, які показано для процесів. Налаштування можна зберегти і відновлювати після перезапуску програми.

У програмі передбачено обмежений інтерактивний інтерфейс для керування процесами, а також набагато ширший інтерфейс для особистого налаштовування  --  він включає усі аспекти роботи програми. Хоча усе це буде описано як top у решті цього документа, ви можете назвати програму будь-як. Програму із новою назвою, можливо просто альтернативою назви, буде відтворено у показі top і використано для читання та запису файла налаштувань.

ОГЛЯД

Документація

Решта «Змісту»


ОГЛЯД
Робота програми
Типи пам'яті Linux
1. ПАРАМЕТРИ КОМАНДНОГО РЯДКА
2. ПОКАЗ РЕЗЮМЕ
а. СЕРЕДНІ ЗНАЧЕННЯ ЧАСУ РОБОТИ ТА НАВАНТАЖЕННЯ
б. СТАНИ ЗАВДАННЯ ТА ПРОЦЕСОРА
в. ВИКОРИСТАННЯ ПАМ'ЯТІ
3. ПОКАЗ ПОЛІВ / СТОВПЧИКІВ
а. ОПИС ПОЛІВ
б. КЕРУВАННЯ ПОЛЯМИ
4. ІНТЕРАКТИВНІ КОМАНДИ
а. ЗАГАЛЬНІ КОМАНДИ
б. КОМАНДИ ОБЛАСТІ РЕЗЮМЕ
в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ
1. Вигляд
2. Вміст
3. Розмір
4. Упорядкування
г. ПРИВ'ЯЗКА КОЛЬОРІВ
5. ПОЛОЖЕННЯ АЛЬТЕРНАТИВНОГО ПОКАЗУ
а. ОГЛЯД ВІКОН
б. КОМАНДИ ДЛЯ ВІКОН
в. ГОРТАННЯ ВІКНА
г. ПОШУК У ВІКНІ
д. ФІЛЬТРУВАННЯ У ВІКНІ
6. ФАЙЛИ
а. ФАЙЛ ОСОБИСТИХ НАЛАШТУВАНЬ
б. ДОДАВАННЯ ЗАПИСІВ ДЛЯ ІНСПЕКТУВАННЯ
в. ФАЙЛ ЗАГАЛЬНОСИСТЕМНИХ НАЛАШТУВАНЬ
г. ФАЙЛ ЗАГАЛЬНОСИСТЕМНИХ ОБМЕЖЕНЬ
7. ЗМІННІ СЕРЕДОВИЩА
8. ЗРАЗКИ ДУРНУВАТИХ ТРЮКІВ
а. Магія ядра
b. Вікна-стрибунці
c. Вікно Великого Птаха
d. Перемикачка
9. ВАДИ, 10. ДИВ. ТАКОЖ

Робота програми

При роботі з top найважливішими клавішами є клавіша довідки (h або ?) і клавіша виходу («q»). Крім того, для завершення роботи програми ви можете скористатися традиційною комбінацією для переривання роботи програм (^C).

Під час запуску уперше програма покаже вам такі традиційні елементи на головному екрані top: 1) область резюме; 2) заголовок полів/стовпчиків; 3) область завдань. Опис кожного з цих елементів наведено у наступних розділах. Також ви побачите рядок введення/повідомлень між областю резюме та заголовком стовпчиків. Цей рядок не потребує зайвих пояснень.

Головна сторінка top загалом є доволі адаптивною до змін у розмірностях термінала в X-Window. Інші сторінки top можуть бути менше пристосовані до змін, особливо сторінки зі статичним текстом. Це, втім, повністю залежить від вашої системи керування вікнами та емулятора термінала. Може так трапитися, що обчислення розміру термінала та поточного вмісту у цих програмах відрізняється від обчислення у top, яке завжди виконується на основі викликів операційної системи.

Після будь-якої дії зі зміни розмірів, якщо вміст сторінки top пошкоджено, дані показано не повністю або не впорядковано, просте введення чогось нешкідливого, наприклад символу пунктуації або клавіші пересування курсора, зазвичай, відновлює нормальний показ даних. В екстремальних випадках, майже напевно, спрацює така послідовність:


кл/ком призначення
^Z призупинити top
fg поновити top
<Ліворуч> примусово перемалювати екран (якщо потрібно)

Але якщо показані дані лишаються пошкодженими і після цього, ви можете спробувати ще один крок. Вставте цю команду після того, як роботу top було призупинено, але перед її відновленням.


кл/ком призначення
reset відновити ваші параметри термінала

Зауваження: ширину перегляду у top обмежено 512 позиціями. Показ усіх полів потребує приблизно 250 символів. Решту ширини екрана буде, зазвичай, використано для будь-яких показаних стовпчиків змінної ширини. Стовпчики змінної ширини, зокрема COMMAND, описано у розділі 3а. ОПИСИ ПОЛІВ. На ширину виведених даних також може вплинути параметр -w, обговоренню якого присвячено розділ 1. ПАРАМЕТРИ КОМАНДНОГО РЯДКА.

Нарешті, деякі з екранів або функцій top потребують використання клавіш пересування курсора, зокрема стандартних клавіш зі стрілками та клавіш Home, End, PgUp і PgDn. Якщо у вашому терміналі або емуляторі термінала не передбачено доступу до цих клавіш, можна скористатися такими альтернативами:


клавіша еквівалентні комбінації клавіш
Ліворуч alt + h
Вниз alt + j
Вгору alt + k
Праворуч alt + l
Home alt + ctrl + h
PgDn alt + ctrl + j
PgUp alt + ctrl + k
End alt + ctrl + l

Клавіші зі стрілками Вгору та Вниз є особливо важливими у рядку запиту щодо вхідних даних, введення яких завершується натисканням клавіші <Enter>. Цими клавішами або їхніми альтернативами можна скористатися для отримання попередніх рядків введення, які потім можна відредагувати та ввести знову. Крім того, передбачено чотири додаткових клавіші із орієнтованим на рядки введенням.


клавіша спеціальне призначення
Вгору відновити старіший рядок для повторного редагування
Вниз відновити новіший рядок або витерти увесь рядок
Insert перемкнутися між режимами вставлення і заміни
Delete вилучити символ під курсором, пересунути інші ліворуч
Home перейти на початок рядка введення
End перейти на кінець рядка введення

Типи пам'яті Linux

У програмі використано три типи пам'яті, один є необов'язковим. Першим типом є фізична пам'ять, обмежений ресурс, у якому зберігаються код і дані при виконанні або використанні. Далі, є необов'язковий файл резервної пам'яті, де зберігаються змінені дані, які згодом можна отримати, якщо перевищено обсяг для фізичної пам'яті. Нарешті, є віртуальна пам'ять, майже необмежений ресурс якої використовується за такими призначеннями:


1. абстракція, вільна від адрес/обмежень фізичної пам'яті
2. ізоляція, кожен процес в окремому адресному просторі
3. спільне використання, одна прив'язка може слугувати декільком потребам
4. гнучкість, прив'язка віртуальної адреси до файла

Незалежно від того, яку з цих форм може приймати пам'ять, усіма ними система керує як сторінками (типовим розміром сторінки є 4096 байтів), але типово виражається у top у КіБ (кібібайтах). Обговорення пам'яті у розділі «2в. ВИКОРИСТАННЯ ПАМ'ЯТІ» стосується фізичної пам'яті та резервної пам'яті на диску для системи у цілому. Огляд пам'яті наведено у розділі «3. ПОЛЯ / ПОКАЗ СТОВПЧИКІВ», він стосується усіх трьох типів пам'яті, але для окремих процесів.

Для кожного з таких процесів кожну сторінку пам'яті обмежено одним квадрантом із наведеної нижче таблиці. Включати будь-яку з чотирьох можуть і фізична пам'ять, і віртуальна пам'ять, а резервна пам'ять на диску може включати лише сторінки з квадрантів від 1 до 3. Пам'ять у квадранті 4, при зміні, працює як власна резервна пам'ять на диску.


Приватна | Спільна
1 | 2
Анонімна . stack |
. malloc() |
. brk()/sbrk() | . POSIX shm*
. mmap(PRIVATE, ANON) | . mmap(SHARED, ANON)
-----------------------+----------------------
. mmap(PRIVATE, fd) | . mmap(SHARED, fd)
На основі файла . pgms/shared libs |
3 | 4

Наведені нижче відомості можуть допомогти у інтерпретації значень рівнів пам'яті, які показано у форматі масштабованих стовпчиків і описано у розділі «3а. ОПИС ПОЛІВ».


%MEM - просто RES, яке поділено на загальний обсяг фізичної пам'яті
CODE - частина «pgms» квадранта 3
DATA - увесь квадрант 1 VIRT і усі явним чином отримані
за допомогою mmap сторінки на основі файла квадранта 3
RES - усе, що розміщено у фізичній пам'яті, починаючи з
Linux-4.5, є сумою таких трьох полів:
RSan - сторінки з квадранта 1, куди включено
колишні сторінки квадранта 3, якщо їх змінено
RSfd - сторінки квадранта 3 і квадранта 4
RSsh - сторінки квадранта 2
RSlk - підмножина RES, яку не можна вивантажити до резервної пам'яті (будь-який квадрант)
SHR - підмножина RES (виключає 1, включає усі 2 і 4, деякі 3)
SWAP - потенційно будь-який квадрант, окрім 4
USED - просто сума RES і SWAP
VIRT - усе, що використано і/або зарезервовано (усі квадранти)

Зауваження: Хоча образи програми і спільні бібліотеки вважаються приватними для процесу, їх буде враховано як спільні (SHR) ядром системи.

Обов'язкові аргументи для довгих параметрів також є обов'язковими для коротких параметрів.

Хоча це і не є обов'язковим, можна скористатися знаком «дорівнює» у будь-якій з форм параметра. Також можна додавати пробіли перед і після «=».

Запускає top у пакетному режимі, що може бути корисним для надсилання виведених даних з top до інших програм або до файла. У цьому режимі top не прийматиме вхідних даних і працюватиме, аж доки не буде досягнуто кількості ітерацій, яку встановлено за допомогою параметра командного рядка «-n», або до примусового завершення роботи програми.
Запускає top зі оберненням до останнього збереженого стану «c». Отже, якщо top показувала рядки команд, після запуску програма показуватиме назви програм, і навпаки. Див. інтерактивну команду «c», щоб дізнатися більше.
Визначає затримку між оновленнями екрана і перевизначає відповідне значення у особистому файлі налаштувань або типові налаштування під час запуску. Пізніше, це значення можна змінити за допомогою інтерактивних команд «d» та «s».

До уваги братимуться дробові частини секунди, але не можна використовувати від'ємні числа. Втім, за будь-яких умов, такі зміни заборонено виконувати, якщо top працює у захищеному режимі, усім, окрім користувача root (якщо не було використано параметра командного рядка «s»). Додаткові відомості щодо захищеного режиму наведено у розділі 6г. ФАЙЛ ЗАГАЛЬНОСИСТЕМНИХ ОБМЕЖЕНЬ.

Наказує top примусово масштабувати пам'ять у області завдань за такими величинами:

k - кібібайти
m - мебібайти
g - гібібайти
t - тебібайти
p - пебібайти
e - ексбібайти

Згодом масштабування можна змінити за допомогою команди-перемикача «E».

Наказує top примусово масштабувати пам'ять у області завдань за такими величинами:

k - кібібайти
m - мебібайти
g - гібібайти
t - тебібайти
p - пебібайти

Згодом масштабування можна змінити за допомогою команди-перемикача «e».

Наказує top показувати окремі потоки обробки. Без цього параметра командного рядка буде показано сумарні дані щодо усіх потоків кожного процесу. Пізніше режим роботи можна змінити за допомогою інтерактивної команди «H».
Вивести текст довідки і завершити роботу.
Запускає top із оберненням останнього збереженого стану «i». Якщо цей перемикач вимкнено, завдання, які не використовували центральний процесор з моменту останнього оновлення, не буде показано. Щоб дізнатися більше про цей перемикач, ознайомтеся з розділом 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, РОЗМІР.
Визначає максимальну кількість ітерацій або кадрів, які top має показати, перш ніж завершити роботу.
Цей параметр працює як допоміжна форма для описаного нижче параметра -o. Використання цього параметра наказує top виводити кожну назву доступного поля, а потім завершити роботу. Такі назви підлягають перекладу NLS (National Language Support).
Визначає назву поля, за яким буде упорядковано завдання, незалежно від того, що вказано у файлі налаштувань. Ви можете дописати «+» або «-» до назви поля, щоб змінити порядок. Початковий «+» визначає упорядковування від більших до менших значень, а початковий «-» — від менших до більших.

Цей параметр призначено, в основному, для підтримки роботи у автоматизованому/керованому скриптами пакетному режимі.

Спостерігати лише за процесами із вказаними ідентифікаторами. Втім, при поєднанні із режимом потоків обробки («H»), також буде показано усі процеси у групі потоків обробки (див. TGID) кожного PID, за яким ведеться спостереження.

Цей параметр можна використати до 20 разів або ви можете вказати список відокремлених комами аж до 20 pid. Можна використовувати суміш обох записів.

Нульове значення pid вважається ідентифікатором процесу самої програми top після її запуску.

Це лише параметр командного рядка, і якщо ви хочете повернутися до звичайного режиму роботи програми, немає потреби у виході з програми і перезапуску  --  просто видайте одну з таких інтерактивних команд: «=», «u» або «U».

Параметри командного рядка «p», «u» і «U» є взаємно виключними.

Запускає top із станом, оберненим щодо останнього збереженого стану «S». Якщо режим накопиченого часу увімкнено, кожен процес буде показано із часом центрального процесора, який використано самим процесом і усіма його завершеними дочірніми процесами. Додаткові відомості щодо цього режиму можна отримати у розділі щодо інтерактивної команди «S».
Примусово запускає top у захищеному режимі, навіть для користувача root. Цим режимом набагато краще керувати за допомогою загальносистемного файла налаштувань (див. розділ 6. ФАЙЛИ).
Показати лише процеси із вказаним ідентифікатором користувача або іменем користувача. Цей параметр стосується будь-якого користувача (справжнього, ефективного, збереженого або файлової системи).

Додавання знаку оклику («!») до ідентифікатора користувача або імені наказує top показати лише процеси користувачів, які не збігаються із вказаним.

Параметри командного рядка «p», «u» і «U» є взаємно виключними.

Показати лише процеси із вказаним ідентифікатором користувача або іменем користувача. Цей параметр стосується лише ефективного користувача.

Додавання знаку оклику («!») до ідентифікатора користувача або імені наказує top показати лише процеси користувачів, які не збігаються із вказаним.

Параметри командного рядка «p», «u» і «U» є взаємно виключними.

Вивести дані щодо версії і завершити роботу.
У пакетному режимі, коли програму використано без аргументів, top форматуватиме виведення з використанням змінних середовища COLUMNS= і LINES=, якщо значення цих змінних встановлено. Якщо значення не встановлено, ширину буде зафіксовано на максимальному значення у 512 стовпчиків. Якщо вказано аргумент, ширину виведення буде зменшено або збільшено (аж до 512), а кількість рядків вважатиметься необмеженою.

У режимі звичайного показу, якщо параметр вказано без аргументу top спробує форматувати виведення з використанням змінних середовища COLUMNS= і LINES=, якщо їхні значення встановлено. Якщо аргумент вказано, ширину виведення може бути лише зменшено, а не збільшено. Буде використано змінні середовища чи аргумент з -w, якщо програма не працює у пакетному режимі, справжні розмірності терміналу ніколи не може бути перевищено.

Зауваження: Без використання цього параметра командного рядка, ширина виведення завжди обчислюється на основі термінала, з якого викликано top, незважаючи на те, чи запущено програму у пакетному режимі.

-1, --single-cpu-toggle
Запускає top із оберненим щодо останнього збереженого стану розділом станів центрального процесора області резюме. Або дані щодо усіх центральних процесорів буде показано або у єдиному рядку, або дані для кожного процесора буде показано окремо, залежно від стану перемикача вузлів NUMA Node («2»).

Див. інтерактивні команди «1» і «2», щоб дізнатися більше.

Кожною з описаних нижче областей можна окремо керувати за допомогою однією або декількох інтерактивних команд. Див. розділ 4б. КОМАНДИ ОБЛАСТІ РЕЗЮМЕ, щоб дізнатися більше про ці команди.

2а. СЕРЕДНІ ЗНАЧЕННЯ ЧАСУ РОБОТИ ТА НАВАНТАЖЕННЯ

Ця частина складається з одного рядка такого вмісту:


назва програми або вікна, залежно від режиму показу;
поточний час і час з моменту останнього завантаження;
загальна кількість користувачів;
середнє навантаження на систему за останні 1, 5 і 15 хвилин

2б. СТАНИ ЗАВДАННЯ ТА ПРОЦЕСОРА

Ця частина складається з принаймні двох рядків. У середовищі із симетричною багатопроцесорністю додаткові рядки може бути використано для показу окремих часток кожного процесора.

У першому рядку буде показано загальну кількість завдань або потоків обробки, залежно від стану перемикача режиму потоків. Загальні дані далі буде класифіковано так:


працює; приспано; зупинено; зомбі

У другому рядку буде показано частки стану центрального процесора на основі проміжку часу з останнього оновлення даних.

Типово, буде показано частки для наведених нижче категорій. Якщо версія ядра є невідповідною, поле st може бути не показано.


us : час роботи непріоритетних процесів користувача
sy : час роботи процесів ядра
ni : час роботи пріоритетних процесів користувача
id : час, витрачений у обробнику бездіяльності ядра
wa : час очікування на завершення введення-виведення
hi : час, витрачений на обслуговування апаратних переривань
si : час, витрачений на обслуговування програмних переривань
st : час, викрадений з цієї ВМ гіпервізором

Значення «sy» вище також відповідає часу виконання на віртуальному центральному процесорі для гостьових операційних систем, включно з тією, яка має пріоритетність.

Окрім першого рядка завдань/потоків, передбачено альтернативні режими показу центрального процесора, доступ до яких можна отримати за допомогою чотирипозиційної команди-перемикача «t». У них програма показуватиме скорочене резюме, що складається з таких елементів:


а б в г
%CПроц.: 75,0/25,0 100[ ... ]

Де а) частка «user» (us + ni); б) є часткою «system» (sy + hi + si + guests); в) є загальні дані часток; і г) один з двох візуальних графіків цих представлень. У таких графіках також буде показано окремі частки «користувача» і «системи».

Командою-перемикачем «4» користуються для отримання даних понад двох процесорів на рядок. Результати буде скорочено шляхом вилучення елементів а) і б). Втім, ці дані усе ще буде показано на самому графіку, якщо активними є кольори, а якщо ні, показано смужки і блоки.

Див. розділ 4б. КОМАНДИ ОБЛАСТІ РЕЗЮМЕ, щоб дізнатися більше про команди-перемикачі «t» і «4».

2в. ВИКОРИСТАННЯ пам'яті

Ця частина складається з двох рядків, у яких може бути показано значення в одиницях від кібібайтів (КіБ) до ексбібайтів (ЕіБ) залежно від коефіцієнта масштабування, який визначається інтерактивною командою «E». Поля-джерела з /proc/meminfo показано у дужках.

Рядок 1 показує віртуальну пам'ять, класифіковану так:


total ( MemTotal )
free ( MemFree )
used ( MemTotal - MemAvailable )
buff/cache ( Buffers + Cached + SReclaimable )

Рядок 2 показує, здебільшого, віртуальну пам'ять, класифіковану так:


total ( SwapTotal )
free ( SwapFree )
used ( SwapTotal - SwapFree )
avail ( MemAvailable, яка є фізична пам'ять )

Число дост у рядку 2 є оцінкою фізичної пам'яті, доступною для запуску нових програм, без резервної пам'яті на диску. На відміну від поля вільн, програма спробує врахувати безпосередньо використовуваний кеш сторінок та шматки пам'яті. Дані доступні у ядрах після 3.14, їх емульовано у ядрах 2.6.27+, у інших випадках це те саме, що і вільн.

У режимах альтернативного показу пам'яті, буде показано два скорочених резюме, що складатимуться з таких елементів:


а б в
ГіБ Пам : 18,7/15,738 [ ... ]
ГіБ Своп: 0,0/7,999 [ ... ]

Де а) є часткою використаного; б) загалом доступно і в) один з двох візуальних графіків цих представлень.

У випадку фізичної пам'яті частка відповідає різниці загал і оцінки дост, вказаний вище. Сам графік «Пам» поділено між некешованою частиною вик. та рештою пам'яті, яку інакше не враховано у дост. Див. 4б. КОМАНДИ ОБЛАСТІ РЕЗЮМЕ та команду «m», щоб дізнатися більше про цей особливий чотирипозиційний перемикач.

Ця таблиця може допомогти вам в інтерпретації показаних масштабованих значень:


КіБ = кібібайт = 1024 байтів
МіБ = мебібайт = 1024 КіБ = 1048576 байтів
ГіБ = гібібайт = 1024 МіБ = 1073741824 байтів
ТіБ = тебібайт = 1024 ГіБ = 1099511627776 байтів
ПіБ = пебібайт = 1024 ТіБ = 1125899906842624 байтів
ЕіБ = ексбібайт = 1024 ПіБ = 1152921504606846976 байтів

3а. ОПИС ПОЛІВ

Нижче наведено список доступних у top полів процесів (стовпчиків). Пункти вказано строго за абетковим порядком ASCII. Ви можете змінити їхні позиції та те, чи буде їх показано за допомогою інтерактивної команди «f» (керування полями).

Як поле для упорядковування можна використовувати будь-яке поле. Ви можете керувати тим, буде записи упорядковано за зростанням чи спаданням. Щоб дізнатися більше про упорядковування, зверніться до розділу 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, УПОРЯДКОВУВАННЯ.

Дані у полях, які пов'язано із фізичною пам'яттю та віртуальною пам'яттю, використано «(КіБ)», режим показу без суфіксів одиниць. Втім, у таких полях можливе масштабування від КіБ до ПіБ. Це масштабування визначають інтерактивною командою «e» або під час запуску за допомогою параметра збирання.

%CPU  --  Використання процесора
Частка завдання у часі процесора з моменту останнього оновлення екрана, яку виражено у відсотках від загального часу роботи процесора.

У справжньому середовищі із симетричною багатопроцесорністю, якщо процес є багатопотоковим, і top не працює у режимі потоків, може бути показано значення більші за 100%. Перемкнути режим потоків можна за допомогою інтерактивної команди «H».

Також для багатопроцесорних середовищ, якщо режим Irix Вимкнено, top працюватиме у режимі Solaris, у якому використання процесора завданням буде поділено на загальну кількість процесорів. Перемкнути режими Irix/Solaris можна за допомогою інтерактивної команди «I».

Зауваження: Якщо програма працює у режимі перегляду лісу («V») зі згорнутими дочірніми процесами («v»), до цього поля також буде включено час процесора для цих невидимих дочірніх процесів. Див. розділ 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, ВМІСТ, щоб дізнатися більше про перемикачі «V» та «v».

%CUC  --  Використання процесора
Це поле є тотожним до %CUU нижче, але у частці буде також показано завершені дочірні процеси.
%CUU  --  Використання процесора
Загальне використання процесора завданням, поділене на витрачений час роботи, яке виражено у відсотках.

Якщо на поточний момент для процесу буде показано високе використання процесора, це поле може допомогти визначити, чи належним чином поводить себе процес. Навпаки, процес мало використовує процесор, %CUU може показати попередні вищі вимоги під час роботи процесу.

%MEM  --  Використання пам'яті (RES)
Поточна використана завданням частка доступної фізичної пам'яті.

Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.

Ідентифікатор автогрупи, який пов'язано із процесом, що працює у поєднанні із планувальником CFS для удосконалення швидкодії інтерактивної стільниці.

Якщо встановлено /proc/sys/kernel/sched_autogroup_enabled, для кожного сеансу (див. SID) буде створено автогрупу. Усі наступні відгалужені процеси у цьому сеансі успадкують членство у цій автогрупі. Надалі, ядро спробує вирівняти розподіл циклів процесора між такими групами. Таким чином, автогрупа із багатьма інтенсивними щодо процесора процесами (наприклад, make -j) не домінуватиме над автогрупою із лише одним або двома процесами.

Якщо показано -1, відомості є недоступними.

Значення пріоритетності автогрупи, яке стосується планування усіх процесів у цій групі. Від'ємне значення пріоритетності означає, що пріоритет є вищим, а додатне — нижчим.
Назва групи керування, якій належить процес, або «-», якщо їх можна застосовувати до цього процесу.

Це, типово, буде останній запис у повному списку груп керування, показаного під наступним заголовком (CGROUPS). Це поле також має змінну ширину.

Назви груп керування, якій належить процес, або «-», якщо їх можна застосовувати до цього процесу.

Групи керування призначено для розподілу ресурсів (процесора, пам'яті, каналу мережі тощо) серед визначених під час встановлення груп процесів. Вони уможливлюють тонкий контроль над розподілом ресурсів, забороною використання ресурсів, пріоритетами у використанні ресурсів, керування ресурсами та спостереження за ресурсами.

Одночасно у системі може бути багато різних ієрархій груп керування. Кожну з ієрархій пов'язано із однією або декількома підсистемами. Підсистема відповідає єдиному ресурсу.

Зауваження: Поле CGROUPS, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів). Попри це, такі поля змінної ширини теж можуть підлягати обрізанню. Див. розділ 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про доступ до будь-яких обрізаних даних.

Обсяг фізичної пам'яті, яку у поточний момент призначено для виконуваного коду, також відома як розмір Text Resident Set (TRS або текстового резидентного набору).

Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.

Показує рядок команди, який використано для запуску завдання або назву пов'язаної із ним програми. Перемикання між показом рядка і назви можна виконувати за допомогою «c», параметра командного рядка або інтерактивної команди.

Якщо ви вибрали режим рядка команди, процеси без рядка команди (зокрема потоки ядра) буде показано лише назвою програми у квадратних дужках, як у цьому прикладі:
[kthreadd]

На це поле також може впливати режим показу дерева. Див. інтерактивну команду «V», щоб дізнатися більше про цей режим.

Зауваження: Поле COMMAND, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів). Попри це, такі поля змінної ширини теж можуть підлягати обрізанню. Це особливо стосується цього поля при показі рядків команди (інтерактивна команда «c».) Див. розділ 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про доступ до будь-яких обрізаних даних.

Обсяг приватної пам'яті, який зарезервовано процесом. Ця пам'ять має назву Data Resident Set (DRS або резидентний набір даних). Таку пам'ять ще не може бути пов'язано із фізичною пам'яттю (RES), але її буде завжди включено в обсяг віртуальної пам'яті (VIRT).

Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.

Час з моменту запуску процесу. Отже, для останнього запущеного завдання буде показано найменший інтервал часу.

Значення буде показано як «ГГ,ХХ» (години,хвилини), але його може бути масштабовано, якщо інтервал стає надто великим, щоб його можна було показати у стовпчику. Тобто, його може бути масштабовано до «ДД+ГГ» (дні+години) і, можливо, далі.

Показ усіх змінних середовища, якщо такі визначено, з точки зору відповідних процесів. Ці змінні буде показано у їхньому необробленому порядку, а не в упорядкованому вигляд, до якого ви звикли бачити у виведенні «set».

Зауваження: Поле ENVIRON, на відміну від більшості стовпчиків, не є полем фіксованої ширини Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів). Попри це, такі поля змінної ширини теж можуть підлягати обрізанню. Це особливо стосується цього поля. Див. розділ 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про доступ до будь-яких обрізаних даних.

Де є доступним, це повний шлях до виконуваного файла, включно із назвою програми.

Зауваження: Поле EXE, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів).

У цьому стовпчику буде показано поточні прапорці планування завдання, які буде виражено у шістнадцятковому форматі із придушенням нулів. Ці прапорці офіційно документовано у <linux/sched.h>.
Ідентифікатор ефективної групи.
Назва ефективної групи.
Ідентифікатор користувача під час входу. Якщо показано -1, відомості є недоступними.
Назва контейнера LXC, у якому запущено завдання. Якщо процес не запущено у контейнері, буде показано дефіс («-»).
Значення пріоритетності (nice) завдання. Від'ємне значення пріоритетності означає вищу пріоритетність, а додатне значення — нижчу. Нульове значення у цьому полі просто означає, що при виділенні ресурсів для цього завдання коригування пріоритетності не відбуватиметься.

Зауваження: Це значення впливає лише на пріоритет планування відносно інших процесів у тій самій автогрупі. Див. поля «AGID» та «AGNI», щоб дізнатися більше про автогрупи.

Число, яке відповідає номеру вузла NUMA, з яким пов'язано останній використаний процесор («P»). Якщо тут показано -1, дані щодо NUMA є недоступними.

Див. інтерактивні команди «2» і «3», щоб дізнатися більше про параметри NUMA, які стосуються області резюме.

Значення у діапазоні від -1000 до +1000, яке буде додано до поточного рахунку виходу за межі пам'яті (OOM), яке потім буде використано для визначення того, виконання якого завдання слід припинити, якщо пам'ять буде вичерпано.
Значення у діапазоні від 0 до +1000, яке буде використано для вибору завдань, виконання яких слід припинити, якщо буде вичерпано пам'ять. Нульове значення означає «ніколи не припиняти», а значення 1000 означає «припиняти завжди».
Число, яке відповідає номеру останнього використаного процесора. У середовищах із істинною симетричною багатопроцесорністю це значення, ймовірно, часто змінюватиметься, оскільки ядро навмисне використовує слабку прив'язку до процесорів. Крім того, сам запуск top може порушити цю слабку прив'язку, і спричинити частішу зміну процесорів для більшої кількості завдань (через додаткову потребу у процесорному часі).
Кожен процес є учасником унікальної групи процесів, яку використовують для розподілу сигналів, а також терміналами для розподілу запитів щодо введення і виведення. При створенні (відгалуженні) процесу він стає учасником групи проєктів його батьківського процесу. За угодою, це значення дорівнює ідентифікатору процесу (див. PID) першого учасника групи процесів, який називають лідером групи процесів.
Унікальний ідентифікатор процесу завдання, який система періодично циклічно перепризначає, хоча ніколи не розпочинає відлік з нуля. У термінах ядра це розподілений запис, який визначено task_struct.

Це значення також може бути використано як ідентифікатор групи процесів (див. PGRP); ідентифікатор сеансу для лідера сеансу (див. SID); ідентифікатор групи потоків для лідера групи потоків (див. TGID); і ідентифікатор групи процесів термінала для лідера групи процесів (див. TPGID).

Ідентифікатор процесу (pid) батьківського процесу завдання.
Пріоритетність планування завдання. Якщо ви бачите у цьому полі «rt», це означає, що завдання працює із плануванням у режимі реального часу.

У linux пріоритетність реального часу є дещо оманливим терміном, оскільки, традиційно, сама система не була системою із витісненням. І хоча ядро 2.6 можна зробити ядром, яке є здебільшого придатним до витіснення, працює це не завжди.

Частка цього завдання у «RSS», де кожну сторінку буде поділено на кількість процесів, для яких вона є спільною. Також, це сума значень у полях «PSan», «PSfd» та «PSsh».

Наприклад, якщо у процесу є 1000 резидентних сторінок і 1000 резидентних сторінок є спільними з іншим процесом, значенням «PSS» буде рівним 1500 (помножене на розмір сторінки).

Доступ до значень smaps є удесятеро коштовнішим щодо обчислювальних можливостей, ніж доступ до інших статистичних даних щодо пам'яті, а доступ до даних для інших користувачів потребує привілеїв root..

PSan  --  Пропорційна анонімна пам'ять, smaps (КіБ)
PSfd  --  Пропорційна файлова пам'ять, smaps (КіБ)
PSsh  --  Пропорційна пам'ять shmem, smaps (КіБ)

Як і поле «PSS» вище (загальна пропорційна резидентна пам'ять), ці поля відповідають частці цього завдання для кожного типу пам'яті, поділеній на кількість процесів, для яких вона є спільною.

Доступ до значень smaps є удесятеро коштовнішим щодо обчислювальних можливостей, ніж доступ до інших статистичних даних щодо пам'яті, а доступ до даних для інших користувачів потребує привілеїв root..

Піднабір простору віртуальних адрес (VIRT) який відповідає фізичний пам'яті без резервної пам'яті на диску, яку завдання використовує у поточний момент. Це також сума значень у полях RSan, RSfd і RSsh.

Може включати приватні анонімні сторінки, приватні сторінки, які пов'язано із файлами (включно із образами програм та бібліотеками спільного використання) разом із анонімними сторінками спільного використання. Резервне копіювання усієї цієї пам'яті здійснюється до файла резервної пам'яті, який окремо показано у полі SWAP.

Нарешті, це поле також може включати спільні сторінки із резервними копіями у файлах, які, якщо до них внесено зміни, працюють як файл резервної пам'яті і, таким чином, ніколи не впливають на значення SWAP.

Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.

Інший, точніший перегляд нерезервованої фізичної пам'яті процесу. Дані буде отримано з файла «smaps_rollup». Зазвичай, результат буде трохи більшим за показаний для «RES».

Доступ до значень smaps є удесятеро коштовнішим щодо обчислювальних можливостей, ніж доступ до інших статистичних даних щодо пам'яті, а доступ до даних для інших користувачів потребує привілеїв root..

Підмножина резидентної пам'яті (RES), що відповідає приватним сторінкам, які не пов'язано із файлом.
Підмножина резидентної пам'яті (RES), що відповідають неявно спільним сторінкам, які підтримують образи програм та бібліотеки спільного використання. Сюди також включено явні прив'язки до файлів, приватні та спільні.
Підмножина резидентної пам'яті (RES), яку не можна зарезервувати на диску.
Підмножина резидентної пам'яті (RES), що відповідає явно спільним анонімним сторінкам shm*/mmap.
Ідентифікатор дійсного користувача.
Дійсне ім'я користувача.
Стан завдання, одне з таких значень:
D = присипляння, яке не можна переривати
I = бездіяльність
R = працює
S = приспано
T = зупинено сигналом керування завданнями
t = зупинено засобом діагностики під час трасування
Z = зомбі

Завдання, які показано як такі, які працюють, правильніше було б назвати готовими до роботи  --  їхня task_struct є просто представлена у черзі роботи Linux. Навіть без справжньої машини із симетричною багатопроцесорністю ви можете побачити чисельні завдання у цьому стані. Кількість залежатиме від інтервалу затримки top та значення пріоритетності (nice).

Підмножина резидентної пам'яті (RES), яку може бути використано іншими процесами. Сюди буде включено спільні анонімні сторінки та спільні сторінки із резервними копіями на диску. Також буде включено приватні сторінки, які пов'язано із файлами, що відповідають образам програм та бібліотекам спільного використання.

Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.

Сеанс — збірка груп процесів (див. PGRP), зазвичай, встановлюється оболонкою входу до системи. Новий відгалужений процес долучається до сеансу свого породжувача. За угодою, це значення дорівнює ідентифікатору процесу (див. PID) першого учасника сеансу, якого називають лідером сеансу, яким, зазвичай, є оболонка входу до системи.
Час від моменту завантаження системи до запуску процесу. Отже, для останнього запущеного завдання буде показано найбільший інтервал часу.

Значення буде показано у форматі «ХХ:СС» (хвилини:секунди). Але якщо інтервал є надто великим, і не вміщується у стовпчик, його буде масштабовано до «ГГ,ХХ» (години,хвилини) і, можливо, далі, зі збільшенням одиниць.

Збережений ідентифікатор користувача.
Ідентифікатори будь-яких допоміжних груп, які встановлено під час входу до системи або успадковано від батьківського процесу завдання. Ідентифікатори буде показано у форматі списку відокремлених комами значень.

Зауваження: Поле SUPGIDS, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів).

Назви будь-яких допоміжних груп, які встановлено під час входу до системи або успадковано від батьківського процесу завдання. Ідентифікатори буде показано у форматі списку відокремлених комами значень.

Зауваження: Поле SUPGRPS, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів).

Збережене ім'я користувача.
Раніше резидентна частина простору адрес завдання, яку записано до файла резервної пам'яті, коли фізичну пам'ять буде переповнено.

Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.

Ідентифікатор групи потоків, до якої належить завданням. Це PID лідера групи потоків обробки. У термінах ядра відповідає тим завданням, які спільно використовують mm_struct.
Загальний час процесора, який було використано завданням з моменту запуску. Якщо накопичувальний режим Увімкнено, кожен процес буде показано у списку із часом процесора, який було використано процесом і його завершеними дочірніми процесами. Перемкнути накопичувальний режим можна за допомогою «S», параметра командного рядка та інтерактивної команди. Див. інтерактивну команду «S», щоб дізнатися більше про цей режим.
Те саме, що і TIME, але із більшою точністю, до сотих секунди.
Ідентифікатор групи процесів основного процесу для з'єднаного термінала або -1, якщо процес не з'єднано із терміналом. За угодою, це значення дорівнює ідентифікатору процесу (див. PID) лідера групи процесів (див. PGRP).
Назва термінала керування. Це, зазвичай, пристрій (послідовний порт, pty тощо) з якого було запущено процес і який процес використовує для введення або виведення даних. Втім, завдання не обов'язково має бути пов'язано із терміналом. Для не пов'язаних із терміналом завдань буде показано «?».
Ідентифікатор ефективного користувача власника завдання.
Цьому полю відповідає фізична пам'ять без резервування, яку використовує завдання (RES), і зарезервована частка її простору адрес (SWAP).

Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.

Ім'я ефективного користувача власника завдання.
Нерезервована частка фізичної пам'яті («RSS»), яка не є спільною для будь-якого іншого процесу. Є похідною від даних у файлі «smaps_rollup».

Доступ до значень smaps є удесятеро коштовнішим щодо обчислювальних можливостей, ніж доступ до інших статистичних даних щодо пам'яті, а доступ до даних для інших користувачів потребує привілеїв root..

Загальний обсяг віртуальної пам'яті, яку використано процесом. До використаної пам'яті буде включено увесь код, дані та спільні бібліотеки, а також сторінки, які було скинуто до резервної пам'яті на диску, та сторінки, які було пов'язано з процесами, але не було використано.

Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.

У цьому полі буде показано назву функції ядра, у якій зараз приспано завдання. Для завдань, які виконуються, у цьому стовпчику буде показано дефіс («-»).
Кількість байтів, отримання яких з шару сховища даних було спричинено процесом.

Для показу даних «io» для інших користувачів потрібні права доступу користувача root.

Кількість дій (системних викликів) введення-виведення з читання для процесу. Такі виклики можуть і не спричиняти справжнього введення-виведення даних на фізичний диск.
Кількість байтів, які було надіслано до шару сховища завдяки процесу.
Кількість дій (системних викликів) введення-виведення з запису для процесу. Такі виклики можуть і не спричиняти справжнього введення-виведення даних на фізичний диск.
Кількість сторінок, які було змінено з моменту запису їх до допоміжного сховища даних. Зіпсовані сторінки має бути записано до допоміжного сховища до того, як відповідне місце у фізичній пам'яті може бути використано для якоїсь іншої віртуальної сторінки.

Це поле стало застарілим з виходу linux 2.6 і його вмістом завжди є нуль.

Кількість основних помилок сторінок, які сталися для завдання. Помилка сторінки стається, якщо процес намагається прочитати дані з віртуальної сторінки, якої немає у його адресному просторі, або записати дані до цієї сторінки. До основної помилки сторінок призводить доступ до допоміжного сховища у процесі відкриття доступу до сторінки.
Кількість незначних помилок сторінок, які сталися для завдання. Помилка сторінки стається, якщо процес намагається прочитати дані з віртуальної сторінки, якої немає у його адресному просторі, або записати дані до цієї сторінки. До незначних помилок сторінок призводить процес відкриття доступу до сторінки без доступу до допоміжного сховища.
Кількість потоків обробки, яку пов'язано із процесом.
Inode простору назв, який використано для приховування профілю керівної групи, учасником якої є процес.
Inode простору назв, який використано для ізолювання ресурсів обміну даними між процесами (IPC), зокрема об'єктів IPC System V та черг повідомлень POSIX.
Inode простору назв, який використано для ізолювання точок монтування файлової системи, і отже, надання різних точок зору на ієрархію файлової системи.
Inode простору назв, який використано для ізолювання ресурсів, подібних до мережевих пристроїв, IP-адрес, IP-маршрутів, номерів портів тощо.
Inode простору назв, який використано для ізолювання номерів ідентифікаторів процесів, що означає, що вони не повинні лишатися унікальними. Таким чином, кожен простір назв може мати власний «init/systemd» (PID #1) для керування різноманітними завданнями з ініціалізації та прибирання осиротілих дочірніх процесів.
Inode простору назв, який надає змогу процесам бачити час у інших системах, подібно до простору назв UTS.
Inode простору назв, який використано для ізолювання числових ідентифікаторів користувачів і груп. Таким чином, процес може мати звичайни ідентифікатор непривілейованого користувача поза простором назв користувача, маючи ідентифікатор користувача 0, із повними привілеями root всередині цього простору назв.
Inode простору назв, який використано для ізолювання назви вузла та назви домену NIS. UTS означає «Система оприлюднення часу UNIX».
Кількість основних помилок сторінок, які сталися з моменту останнього оновлення (див. nMaj).
Кількість незначних помилок сторінок, які сталися з моменту останнього оновлення (див. nMin).

3б. КЕРУВАННЯ ПОЛЯМИ

У відповідь на натискання клавіші інтерактивної команди «f» (керування полями) програма покаже вам екран із: 1) назвою «поточного» вікна; 2) призначеним полем упорядковування; 3) усіма полями у поточному порядку разом із їхніми описами. Пункти, які позначено зірочкою є поточними показаними полями, перегляд яких уможливлює ширина екрана.

  • Як буде вказано у настановах на екрані, пересуватися між полями можна за допомогою клавіш зі стрілками вгору і вниз. Також можна скористатися клавішами PgUp, PgDn, Home та End для пришвидшеного доступу до першого і останнього з доступних полів.
  • Клавіша зі стрілкою праворуч позначає поле для зміни розташування, а клавіша зі стрілкою ліворуч та клавіша <Enter> фіксують розташування поля.
  • Клавішами «d» та <Пробіл> можна скористатися для перемикання стану показу поля, а отже, керування наявністю зірочки.
  • Клавіша «s» позначає поле, як поле для упорядковування. Див. 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, УПОРЯДКОВУВАННЯ, щоб отримати додаткові відомості щодо вибору поля для упорядковування.
  • Клавішами «a» і «w» можна скористатися для циклічного переходу усіма доступними вікнами, а клавішами «q» та <Esc> для виходу з керування полями.

Екраном керування полями також можна скористатися для внесення змін до поточного вікна або групи полів у повноекранному режимі показу або режимі альтернативного показу. Що б не було позначено у момент натискання «q» або <Esc>, його буде зроблено поточним при повернення до показу top. Див. розділ 5. ПОЛОЖЕННЯ АЛЬТЕРНАТИВНОГО ПОКАЗУ та інтерактивну команду «g», щоб дізнатися більше про «поточні» вікна і групи полів.

Зауваження: Будь-яке вікно, у якому було виконано гортання у горизонтальному буде скинуто до типового стану, якщо буде внесено будь-які зміни до полів за допомогою екрана керування полями. Втім, будь-яку позицію вертикального гортання буде збережено. Див. 5в. ГОРТАННЯ ВІКНА, щоб отримати додаткові відомості щодо вертикального та горизонтального гортання.

Нижче наведено короткий покажчик команд у категоріях. Деякі команди у списку трапляються декілька разів  --  їхнє призначення та область дії можуть змінюватися, залежно від контексту, у якому їх віддано.


4а. Загальні команди
<Ent/Sp> ?, =, 0,
A, B, d, E, e, g, h, H, I, k, q, r, s, W, X, Y, Z,
^G, ^K, ^N, ^P, ^U, ^L, ^R
4б. Команди області резюме
C, l, t, m, 1, 2, 3, 4, !
4в. Команди області завдань
Вигляд: b, J, j, x, y, z
Вміст: c, F, f, O, o, S, U, u, V, v, ^E
Розмір: #, i, n
Упорядкування: <, >, f, R
4г. Прив'язка кольорів
<Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
5б. Команди для вікон
-, _, =, +, A, a, G, g, w
5в. Гортання у вікні
C, вгору, вниз, ліворуч, праворуч, PgUp, PgDn, Home, End
5г. Пошук у вікні
L, &
5д. Фільтрування у вікні O, o, ^O, =, +

Загальні інтерактивні команди завжди доступні у повноекранному режимі та режимі альтернативного показу. Втім, деякі з цих інтерактивних команд не є доступними, якщо програма працює у захищеному режимі.

Якщо ви хочете наперед знати, чи захищено роботу вашої копії програми top, просто віддайте команду показу довідки і перегляньте резюме щодо системи у другому рядку.

  <Enter> або <Пробіл>  :освіжити показу
Ці команди пробуджують top і, відповідно до інструктування за вхідними даними, буде перемальовано усі показані дані. Це також призведе до примусового оновлення усіх інтерактивних змін у процесорах та фізичній пам'яті.

Скористайтеся будь-якою з цих клавіш, якщо інтервал затримки є надто великим, і ви хочете ознайомитися із поточним станом.

   ? | h  :Довідка
Доступні два рівня довідки. На першому програма покаже нагадування щодо усіх базових інтерактивних команд. Якщо top працює у захищеному режимі, екран довідки буде скорочено.

Натискання «h» або «?» на цьому екрані довідки призведе до показу довідки для цих інтерактивних команд із застосуванням до режиму альтернативного показу.

   =  :Скинути обмеження на показ
Знімає обмеження на показ. Ця команда обертає будь-які команди «i» (бездіяльні завдання), «n» (максимальна кількість завдань), «v» (приховати дочірні) і «F» (фокусування), які могли бути активними. Команду також призначено для виходу із режимів спостереження за PID, фільтрування за користувачами, іншого фільтрування, обробки пошуку та режиму поєднання процесорів.

Крім того, якщо у вікні було виконано гортання, його буде повернуто до початкового стану цією командою.

   0  :Перемикач придушення нулів
Ця команда визначає, буде показано нулі чи нулі буде приховано для багатьох полів у вікні завдань. Цей перемикач не впливає на показ даних у полях UID, GID, NI, PR та P.
   A  :Перемикач режиму альтернативного показу
Ця команда перемикає програму між повноекранним режимом і режимом альтернативного показу. Див. розділ 5. ПОЛОЖЕННЯ АЛЬТЕРНАТИВНОГО ПОКАЗУ та інтерактивну команду «g», щоб дізнатися більше про «поточні» вікна і групи полів.
   B  :Перемикач вмикання/вимикання напівжирного шрифту
Ця команда впливає на використання можливостей показу напівжирного тексту terminfo і змінює одразу область резюме та область завдань для «поточного» вікна. Хоча цю команду призначено, в основному, для «простих» терміналів, нею можна скористатися у будь-якому терміналі.

Зауваження: Якщо цей перемикач Увімкнено, і top працює у монохромному режимі, для усього дисплея буде використано звичайний текст. Таким чином, якщо не використано перемикач «x» і/або«y» для обернення акцентування тексту, не буде ніякого візуального підтвердження, що ці перемикачі увімкнено.

*  d | s  :Змінити інтервал затримки часу
Програма попросить вас ввести час затримки у секундах між оновленнями показаних даних.

Буде враховано вказані дробові частки секунд, але від'ємні числа використовувати не можна. Введення 0 спричинить (майже) неперервне оновлення даних із незадовільними результатами, оскільки система та драйвер термінала намагатимуться задовольнити вимоги top. Значення затримки є обернено пропорційним до навантаження на систему, тому встановлювати його слід обережно.

Якщо вам захочеться переглянути поточне значення часу затримки, просто віддайте команду показу довідки і перегляньте резюме щодо системи у другому рядку.

   E  :Примусове масштабування пам'яті в області резюме
За допомогою цієї команди ви можете циклічно перемикати доступні масштаби пам'яті в області резюме, від КіБ (кібібайтів або 1024 байтів) до ЕіБ (ексбібайтів або 1152921504606846976 байтів).

Якщо ви побачите «+» між показаним числом та наступною міткою, це означатиме, що програма top примусово обрізала частину числа. Обрізання можна уникнути, якщо збільшити коефіцієнт масштабування.

   e  :Примусове масштабування пам'яті завдань у області завдань
За допомогою цієї команди ви можете циклічно перемикати доступні масштаби пам'яті в області завдань, від КіБ (кібібайтів або 1024 байтів) до ПіБ (пібібайтів або 1125899906842624 байтів).

Хоча top намагатиметься зважати на вибраний діапазон цілей, може знадобитися додаткове масштабування з метою пристосування до поточних значень. Якщо вам потрібен більш однорідний результат у стовпчиках пам'яті, цілі можна, зазвичай, досягти збільшенням діапазону масштабування. Втім, надмірне його підняття, ймовірно, призведе до показу одних нулів, які не можна буде придушити інтерактивною командою «0».

   g  :Вибрати інше вікно/групу полів
Програма попросить вас ввести число від 1 до 4, яке позначатиме групу полів, яку слід зробити «поточним» вікном. Звикнути до цих 4 вікон доволі просто, особливо після експериментування із режимом альтернативного показу.
   H  :Перемикач режиму потоків
Якщо цей перемикач Увімкнено, для усіх процесів в усіх видимих вікнах завдань буде показано окремі потоки обробки. Якщо перемикач вимкнено, top покаже суму за усіма потоками для кожного процесу.
   I  :Перемикач режимів Irix/Solaris
Якщо програма працює у режимі Solaris («I» у стані Вимкнено), використання процесора завданням буде поділено на загальну кількість процесорів. Після того, як буде віддано цю команду, програма повідомить вам про новий стан перемикача.
*  k  :Вбити завдання
Програма попросить вас ввести PID, а потім ввести сигнал, який слід надіслати.

Якщо PID не буде введено або буде введено від'ємне число, програма використає типове значення, яке показано у запиті щодо команди (перше показане завдання). Нульове значення PID означає саму програму top.

Типовим сигналом, як це буде показано у запиті, є SIGTERM. Втім, ви можете надіслати будь-який сигнал, вказавши число або назву.

Якщо ви хочете перервати процес завершення роботи завдання, виконайте одну з таких дій, залежно від поступу процедури:


1) у запиті щодо pid введіть некоректне число
2) у запиті щодо сигналу введіть 0 (або будь-який некоректний сигнал)
3) у будь-якому запиті натисніть <Esc>
   q  :Вийти
*  r  :Змінити пріоритетність (nice) завдання
Програма попросить вас ввести PID, а потім ввести значення пріоритетності для процесу.

Якщо PID не буде введено або буде введено від'ємне число, програма використає типове значення, яке показано у запиті щодо команди (перше показане завдання). Нульове значення PID означає саму програму top.

Додатне значення пріоритетності (nice) спричиняє втрату пріоритетності процесом. І навпаки, від'ємне значення пріоритетності призводить до того, що ядро розглядатиме процес як пріоритетніший. Загалом, звичайні користувачі можуть лише збільшувати значення пріоритетності і не можуть його зменшувати.

Якщо ви хочете перервати процес зміни пріоритетності завдання, виконайте одну з таких дій, залежно від поступу процедури:


1) у запиті щодо pid введіть некоректне число
2) у запиті щодо пріоритетності натисніть <Enter> без введення значення
3) у будь-якому запиті натисніть <Esc>
   W  :Записати файл налаштувань
У результаті усі ваші значення параметрів і перемикачів, разом із поточним режимом показу та часом затримки буде збережено. Якщо ви віддасте цю команду одразу перед завершенням роботи top, ви зможете згодом запустити програму у тому самому стані.
   X  :Додаткова фіксована ширина
Деякі поля мають фіксовану ширину і не придатні до масштабування. Такі поля програма обрізає і позначає їх символом «+» в останній позиції.

Цією інтерактивною командою можна скористатися для зміни ширини таких полів:


поле типова поле типова поле типова
GID 5 GROUP 8 WCHAN 10
LOGID 5 LXC 8 nsCGROUP 10
RUID 5 RUSER 8 nsIPC 10
SUID 5 SUSER 8 nsMNT 10
UID 5 TTY 8 nsNET 10
USER 8 nsPID 10
nsTIME 10
nsUSER 10
nsUTS 10

Програма попросить вас вказати доповнення, яке буде додано до типової ширини з наведеної вище таблиці. Введення нульового значення призведе до повернення до типового значення.

Якщо ви вкажете від'ємне значення, top автоматично збільшить розмір стовпчика на потрібну величину, так, щоб дані не було обрізано.

Зауваження: Буде ширину цих полів збільшено явно чи автоматично, top ніколи не зменшуватиме ширини. Щоб зменшити ширину, вам слід вказати менше число або відновити типові значення.

   Y  :Вивчити інше виведення
Після видання інтерактивної команди «Y» програма попросить вас ввести PID призначення. Введення значення або прийняття типового значення призведе до появи окремого екрана. Цим екраном можна буде скористатися для перегляду діапазону файлів або каналізованого виведення команд, а звичайний ітеративний показ даних top буде призупинено.

Зауваження: Цю інтерактивну команду повністю реалізовано лише при підтримці записів, які вручну додано наприкінці файла налаштувань top. Докладніше про створення цих записів можна дізнатися із розділу 6б. ДОДАВАННЯ ЗАПИСІВ ДЛЯ ІНСПЕКТУВАННЯ.

Більшість клавіш, які використовують для навігації інспектованими даними вказано у передмові. Втім, є додаткові клавіші, які стають доступними для певного файла або команди. Ці клавіші знайомі будь-кому, хто користувався програмою поділу на сторінки «less». Їхнє резюме наведено тут з довідковою метою.


клавіша призначення
= альтернативний рядок стану, файла або каналу
/ пошук, еквівалент пошуку «L»
n знайти далі, еквівалент пошуку наступного «&»
<Пробіл> гортання вниз, еквівалент <PgDn>
b гортання вгору, еквівалент <PgUp>
g перший рядок, еквівалент <Home>
G останній рядок, еквівалент <End>
   Z  :Змінити прив'язку кольорів
Натискання цієї клавіші переведе вас до окремого екрана, на якому ви зможете змінити кольори для «поточного» вікна або для усіх вікон. Докладніше про цю інтерактивну команду можна дізнатися з розділу 4г. ПРИВ'ЯЗКА КОЛЬОРІВ.

  ^G  :Показати групи керування (клавіша Ctrl + `g')
  ^K  :Показати рядок команди (клавіша Ctrl + `k')
  ^N  :Показати середовище (клавіша Ctrl + `n')
  ^P  :Показати простори назв (клавіша Ctrl + `p')
  ^U  :Показати допоміжні групи (клавіша Ctrl + `u')

Застосовані до першого показаного процесу, ці команди виводять повні дані (потенційно розбиті на рядки) щодо процесу. Такі дані буде показано в окремому вікні внизу екрана без переривання звичайного спостереження за даними у top.

Натискання тієї самої комбінації із «Ctrl» удруге вилучає це окреме вікно і віддає команду «=». Натискання іншої комбінації клавіш із «Ctrl», доки вікно лишається активним, негайно переводить програму у режим виведення відповідних нових даних.

Помітною серед цих команд є команда Ctrl+N (середовище). Виведені нею дані можуть бути досить об'ємними, їх не просто читати, якщо рядок розбито. Зручніший для читання варіант можна отримати за допомогою запису «Inspect» у файлі rcfile, подібного до наведеного нижче.


pipe ^I Environment ^I cat /proc/%d/environ | tr '\0' '\n'

Див. інтерактивну команду «Y» і розділ 6б. ДОДАВАННЯ ЗАПИСІВ ДЛЯ ІНСПЕКТУВАННЯ, щоб дізнатися більше.

Альтернативою «Inspect», яка доступна для усіх «Ctrl»-команд, є клавіша табуляції, якою можна скористатися для підсвічування окремих елементів у нижній частині вікна.

  ^L  :Повідомлення журналу (клавіша Ctrl + `l')
10 найсвіжіших повідомлень буде показано на окремій панелі у нижній частині вікна, де, зазвичай, продовжується стеження з top. Повторне натискання «^L» вилучає цю панель, як і команда «=». Скористайтеся клавішею Tab для підсвічування окремих повідомлень.
^R  :Змінити пріоритетність автогрупи (клавіша Ctrl + `r')
Програма попросить вас ввести PID, а потім ввести значення пріоритетності для його AGNI автогрупи.

Якщо PID не буде введено, програма використає типове значення, яке показано у запиті щодо команди (перше показане завдання).

Додатне значення AGNI призводить до втрати пріоритетності процесів в автогрупі. Навпаки, від'ємне значення призводить до того, що ядро вважає їх пріоритетнішими. Звичайні користувачі не можуть встановлювати від'ємні значення AGNI.

Якщо ви хочете перервати процес зміни пріоритетності завдання, натисніть <Esc>.

*
Команди, які показано із зірочкою («*»), є недоступними у захищеному режимі, їх також не буде показано на першому рівні екрана довідки.

4б. КОМАНДИ ОБЛАСТІ РЕЗЮМЕ

Інтерактивні команди області резюме є завжди доступними у обох режимах — повноекранному та режимі альтернативного показу. Ці команди стосуються початкових рядків показу і визначають позицію повідомлень і запитів.

Ці команди завжди впливають лише на «поточне» вікно або групу полів. Див. розділ 5. ПОЛОЖЕННЯ АЛЬТЕРНАТИВНОГО ПОКАЗУ та інтерактивну команду «g», щоб дізнатися більше про «поточні» вікна і групи полів.

   C  :Перемикач показу координат гортання
Перемкнути інформаційне повідомлення, яке буде показано кожного разу, коли рядок повідомлення не використовується в інший спосіб. Докладніше про це можна дізнатися з розділу 5в. ГОРТАННЯ ВІКНА.
   l  :Перемикач середнього навантаження/часу роботу
Це також рядок, що містить назву програми (можливо альтернативу назви) при роботі у повноекранному режимі або назву «поточного» вікна при роботі у режимі альтернативного показу.
   t  :Перемикач завдання/стани процесора
Ця команда стосується від 2 багатьох рядків області резюме, залежно від стану перемикачів команд «1», «2» або «3» і того, чи працює top у режимі симетричної багатопроцесорності.

На цю частину області резюме впливає інтерактивна команда-перемикач «H», як це показано загальною міткою, яка показує завдання або потоки.

Ця команда працює як чотирипозиційний перемикач із циклічним перемиканням таких режимів:


1. докладні частки за категоріями
2. скорочені записи користувача/системи і загальний % + стовпчикова діаграма
3. скорочені записи користувача/системи і загальний % + блоковий графік
4. вимкнення показу завдань і станів процесора

При роботі у будь-якому з графічних режимів показані дані стають набагато значимішими, якщо також показано окремі процесори або вузли NUMA. Щоб дізнатися більше, ознайомтеся із описом команд «1», «2» і «3» нижче.

   m  :Перемикач пам'ять/використання резервної пам'яті
Ця команда стосується двох рядків області резюме, які стосуються фізичної і віртуальної пам'яті.

Ця команда працює як чотирипозиційний перемикач із циклічним перемиканням таких режимів:


1. докладні частки за типом пам'яті
2. скорочені записи % використаної/загальної доступної + стовпчикова діаграма
3. скорочені записи % використаної/загальної доступної + блокова діаграма
4. вимикання показу даних пам'яті
   1  :Перемикач станів єдиного процесора/окремих процесорів
Ця команда впливає на те, як буде показано частину станів процесора для команди «t». Хоча основним призначенням цього перемикача є обслуговування комп'ютерів із значною паралелізацією у симетричній багатопроцесорності, його не обмежено лише середовищами із симетричною багатопроцесорністю.

Коли ви бачите «%CПроц:» в області резюме, перемикач «1» перебуває у стані Увімкнено, а усі дані щодо процесора буде зібрано в одному рядку. Якщо цього рядка немає, кожен процесор буде показано окремо, як «%Прц0, %Прц1, ...», аж до вичерпання доступної висоти екрана.

   2  :Перемикач вузли NUMA/резюме процесорів
Ця команда перемикає програму між режимом «1» показу резюме процесора (лише) або показом резюме разом із статистикою щодо використання процесора для кожного вузла NUMA. Вона доступна, лише якщо у системі є відповідна підтримка NUMA.
   3  :Розгорнути вузол NUMA
Програма попросить вас ввести номер, який відповідає вузлу NUMA. Після введення буде показано резюме щодо вузла разом із статистикою для кожного процесора на вузлі, аж доки не буде натиснуто командний перемикач «1», «2» або «4». Доступ до цієї інтерактивної команди можна буде отримати, лише якщо у системі є відповідне підтримка NUMA.
   4  :Перемикач одночасного показу декількох елементів
Ця команда-перемикач вимикає «1» і показує дані декількох процесорів та пам'яті у кожному рядку. Кожне наступне натискання клавіші «4» додає ще один процесор, аж доки стану повернення до окремих рядків результатів для процесорів і пам'яті.

У цей спосіб може бути показано дані до 8 процесорів на рядок. Втім може статися обрізання даних через досягнення максимального обсягу показаного. Таке, напевно, станеться, якщо переглядати докладні статистичні дані за допомогою команди-перемикача «t», оскільки такі дані не можна масштабувати, подібно до графічного представлення.

Якщо потрібно швидко вийти із режиму паралельного показу без переходу усім циклом, аж до 8 процесорів, просто скористайтеся командою-перемикачем «1».

   5  :Перемикач показу P-ядер і E-ядер
Ця команда-перемикач є активною, лише якщо увімкнено перемикач «t» і вимкнено перемикачі «1», «2», «3» та «!», показуючи окремі результати для процесорів. Припускаємо, що платформа має декілька процесорних ядер двох різних типів, багатопотокові (P-ядро) або однопотокові (E-ядро).

Хоча, зазвичай, кожен процесор буде показано як «%Проц0, %Проц1, ...», цим перемикачем можна скористатися для ідентифікації і/або фільтрування процесорів за типом ядра, або P-ядро (швидкодія), або E-ядро (ефективність).

Коли уперше натиснути «5», кожен процесор буде показано як «%CpP» або «%CpE», відповідно до одного з двох типів ядер. Після другого натискання буде показано лише P-ядра (%CpP). Після третього натискання буде показано лише E-ядра (%CpE). Якщо натиснути команду-перемикач учетверте, показ процесорів повернеться до звичайного режиму «%Проц».

Якщо окремих категорій швидкодія і ефективність немає, цей перемикач не працюватиме.

   !  :Перемикач режиму поєднання процесорів
Цю команду-перемикач призначено для середовищ із потужною паралельною симетричною багатопроцесорністю, де, навіть із командою-перемикачем «4», може бути показано лише частину процесорів. Із кожним натисканням «!» кількість додаткових поєднаних процесорів подвоюватиметься, таким чином зменшуючи загальну кількість показаних рядків процесорів.

Наприклад, після першого натискання «!» два центральних процесора буде поєднано і показано як «0-1, 2-3, ...» замість звичайного «%Прц0, %Прц1, %Прц2, %Прц3, ...». Після другого натискання команди-перемикача «!» буде поєднано чотири процесори і показано дані як «0-3, 4-7, ...». Далі, третє натискання «!» поєднає вісім процесорів, покаже «0-7, 8-15, ...» тощо.

Поєднання триватиме, аж доки програма не повернеться до показу окремих процесорів, і стосуватиметься обох перемикачів, «1» і «4» (одного або декількох стовпчиків). Скористайтеся командою «=», щоб вийти з режиму поєднання процесорів.

Зауваження: Якщо усі область резюме було вимкнено для якогось з вікон, ви зможете бачити лише рядок повідомлень. У такому режимі ви бачитимете максимум доступних рядків завдань, але (тимчасово) не побачите назви програми у повноекранному режимі або назви «поточного» вікна у режимі альтернативного показу.

4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ

Інтерактивні команди області завдань завжди доступні у повноекранному режимі.

Інтерактивні команди області завдань ніколи не доступні у режимі альтернативного показу, якщо показ завдань «поточного» вікна Вимкнено (див. розділ 5. ПОЛОЖЕННЯ АЛЬТЕРНАТИВНОГО ПОКАЗУ).

ВИГЛЯД вікно завдання

   J  :Перемикач вирівнювання числових стовпчиків
Перемикає між вирівнюванням праворуч (типовий режим) та вирівнюванням ліворуч числових даних. Якщо числові дані повністю заповнюють доступний у стовпчику простір, цей командний перемикач стосуватиметься лише заголовка стовпчика.
   j  :Перемикач вирінювання символьних стовпчиків
Перемикає між вирівнюванням ліворуч (типовий режим) та вирівнюванням праворуч символьних даних. Якщо символьні дані повністю заповнюють доступний у стовпчику простір, цей командний перемикач стосуватиметься лише заголовка стовпчика.
На наведені нижче команди також впливає стан загального перемикача «B» (вмикання напівжирного).
   b  :Перемикач напівжирний/звичайний
Ця команда впливає на те, як буде показано перемикачі «x» та «y». Вона також може вплинути на область резюме, якщо для станів процесора або використання пам'яті було вибрано стовпчикову діаграму за допомогою перемикача «t» або «m».
   x  :Перемикач підсвічування стовпчиків
Змінює підсвічування для поточного поля упорядковування. Якщо ви забули, яке поле використано для упорядковування, цією командою можна скористатися, як швидким візуальним нагадуванням, яке показує поле упорядковування. Поле упорядковування може бути невидимим, оскільки:
1) недостатня ширина екрана
2) його Вимкнено інтерактивною командою «f»
   y  :Перемикач підсвічування рядків
Змінює підсвічування для «запущених» завдань. Щоб дізнатися більше про цей стан завдань, див. розділ 3а. ОПИСИ ПОЛІВ, поле «S» (стан процесів).

Використання цього перемикача надає важливі дані щодо стану вашої системи. Єдиною платою за це є декілька додаткових екранованих послідовностей у терміналі.

   z  :Перемикач колір/монохроматичність
Перемикає «поточне» вікно між вашою останньою використаною схемою кольорів та старою формою чорного тексту на білому тлі або білого тексту на чорному тлі. Ця команда стосується одрдазу області резюме і області завдань, але не впливає на стан перемикачів «x», «y» та «b».

ВМІСТ вікна завдань

   c  :Перемикач рядок команди/назва програми
Цю команду буде враховано незалежно від того, чи є стовпчик COMMAND видимим. Пізніше, якщо це поле стане видимим, ви зможете побачити наслідки внесених змін.
   F  :Перемикач супроводу фокусом батьківського процесу
У режимі лісу ця клавіша слугує як перемикач для утримання фокуса на завданні призначення, можливо, із відгалуженими дочірніми процесами. У режимі перегляду лісу вимкнено, ця клавіша ні на що не впливатиме.

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

Зауваження: можна буде користуватися клавішами «i» (бездіяльні завдання), «n» (максимальні завдання), «v» (приховати дочірні) та фільтруванням за користувачем та іншими користувачами; ці команди можуть впливати на те, що буде показано.

   f  :Керування полями
Натискання цих клавіш призведе до показу окремого екрана, на якому ви зможете змінити перелік показаних полів, їхній порядок та вказати поле для упорядковування. Докладніші відомості щодо цих інтерактивних команд можна знайти у розділі 3б. КЕРУВАННЯ ПОЛЯМИ.
   O | o  :Інше фільтрування
Програма попросить вас вибрати критерій, який визначить, які завдання буде показано у «поточному» вікні. У вашому критерії можна враховувати регістр символів або не враховувати регістр символів. Ви також можете визначити, має top включати чи виключати відповідні завдання.

[u0414]ив. розділ 5д. ФІЛЬТРУВАННЯ У ВІКНІ, щоб дізнатися більше про ці та додаткові пов'язані інтерактивні команди.

   S  :Перемикач режиму накопичення часу
Якщо режим накопиченого часу увімкнено, кожен процес буде показано із часом центрального процесора, який використано самим процесом і усіма його завершеними дочірніми процесами.

Якщо Вимкнено, програми, які розгалужуються на багато окремих завдань здаватимуться менш вимогливими. Для програм, подібних до «init» або командної оболонки, це є прийнятним, але для інших програм, подібних до компіляторів, ймовірно, ні. Спробуйте поекспериментувати з двома вікнами завдань із однаковим полем упорядковування, але різними станами «S» і виберіть потрібне вам представлення.

Після того, як буде віддано цю команду, програма проінформує вас щодо нового стану цього перемикача. Якщо вам потрібно знати, чи задіяно накопичувальний режим, просто віддайте команду показу довідки і зверніть увагу на другий рядок у резюме вікна.

   U | u  :Показати лише для певного користувача
Програма попросить вас ввести uid або ім'я користувача, дані якого слід показати. Показати лише процеси із вказаним ідентифікатором користувача або іменем користувача Параметр «-u» стосується ефективного користувача, а параметр «-U» стосується будь-якого користувача (справжнього, ефективного, збереженого або користувача файлової системи).

З цього моменту у цьому вікні завдань буде показано далі лише відповідних користувачів або взагалі не буде показано процесів. Додавання знаку оклику («!») до ідентифікатора користувача або імені наказує top показати лише процеси користувачів, які не збігаються із вказаним.

Для фільтрування даних за різними користувачами можна скористатися різними вікнами завдань. Пізніше, якщо ви захочете знову побачити дані спостереження за усіма користувачами у «поточному» вікні, знову віддайте цю команду, але просто натисніть <Enter> у відповідь на запит.

   V  :Перемикач режиму перегляду лісу
У цьому режимі процеси буде переупорядковано за їхніми батьківськими процесами, а компонування стовпчика COMMAND нагадуватиме дерево. У режимі перегляду лісу можна буде перемикатися між показом назви програми і рядка команди (див. інтерактивну команду «c») або між показом процесів і гілок (див. інтерактивну команду «H»).

Зауваження: Натискання будь-якої клавіші, яка впливає на порядок сортування, призведе до виходу з режиму перегляду лісу у «поточному» вікні. Див. 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, УПОРЯДКОВУВАННЯ, щоб дізнатися більше про ці клавіші.

   v  :Перемикач приховування/показу дочірніх процесів
У режимі лісу ця клавіша слугує як перемикач для згортання або розгортання дочірніх записів батьківського запису.

Перемикач буде застосовано до першого (найвищого у списку) процесу у «поточному» вікні. Див. 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про вертикальне гортання.

Якщо від цільового процесу не було відгалужено жодних дочірніх, ця клавіша ні на що не вплине. Також вона не працює у режимах, відмінних від режиму показу лісу.

  ^E  :Масштабувати поля часу процесора (клавіша Ctrl + «E»)
Дані у полях часу, зазвичай, буде показано із найвищою доступною точністю. За допомогою цього перемикача можна змінити точність так, щоб дані вмістилися у поле. Він також ілюструє масштабування полів, яке могло б бути встановлено автоматично, залежно від того, наскільки довго працює система.

Наприклад, якщо показано «ХХХ:СС.дд», послідовні натискання ^E змінюватимуть формат показу так: «ХХ:СС», «Години,ХХ», «Дні+Години» і, нарешті, «Тижні+Дні».

Такому масштабуванню до повного діапазону підлягають не усі поля часу.

РОЗМІР вікно завдання

   i  :Перемикач бездіяльних процесів
Перемикає програму між показом усіх завдань або лише активних завдань. Якщо цей перемикач Вимкнено, завдання, які не використовували жодного процесора з моменту останнього оновлення, не буде показано. Втім, через деталізацію полів %CPU і TIME+, програма може показувати пункти деяких процесів, які, як може здатися, не використовують процесор.

Якщо цю команду застосовано до останнього показу команд у режимі альтернативного показу, вона не впливатиме на розмір вікна, оскільки усі попередні покази команд уже буде намальовано.

   n | #  :Встановити максимальну кількість завдань
Програма попросить вас ввести кількість завдань, які слід показати. Буде використано менше зі значень — вказаного вами числа і доступної кількості рядків на екрані.

Якщо команду використано у режимі альтернативного показу, вона надасть вам можливість точно визначити розмір кожної із видимих панелей показу завдань, окрім останньої. Вона не впливає на розмір останнього вікна, оскільки усі попередні панелі показу завдань вже буде намальовано.

Зауваження: Якщо вам потрібно збільшити розмір останньої видимої панелі показу завдань у режимі альтернативного показу, просто зменшіть розмір панелей показу завдань над нею.

УПОРЯДКУВАННЯ вікно завдання

З метою забезпечення сумісності у цій версії top передбачено підтримку усіх клавіш упорядковування, які було реалізовано у попередніх версіях top. Оскільки ці клавіші призначено, в основному, для давніх користувачів top, відповідні команди не описано на жодному з екранів довідки.

комаанда поле-упорядкування підтримка
A момент запуску (без показу) Ні
M %MEM Так
N PID Так
P %CPU Так
T TIME+ Так

Перш ніж користуватися будь-якими із вказаних нижче варіантів упорядковування, top запропонує вам тимчасово увімкнути підсвічування стовпчиків за допомогою інтерактивної команди «x». Це допоможе вам переконатися, що справжнє середовище упорядковування відповідає вашим очікуванням.

Вказані нижче інтерактивні команди буде враховано, лише якщо поточне поле упорядковування є видимим. Поле упорядковування може бути невидимим з таких причин:
1) недостатня ширина екрана
2) інтерактивна команда «f» вимкнула показ поля

   <  :Пересунути поле упорядковування ліворуч
Пересуває стовпчик упорядковування ліворуч, якщо поточне поле упорядковування не є першим показаним полем.
   >  :Пересунути поле упорядкування праворуч
Пересуває стовпчик упорядковування праворуч, якщо поточне поле упорядковування не є останнім показаним полем.

Вказані нижче інтерактивні команди буде завжди враховано, незалежно від того, чи є видимим поточне поле упорядковування.

   f  :Керування полями
За допомогою цих клавіш можна відкрити окремий екран, за допомогою якого, окрім іншого, ви можете змінити, яке з полів буде використано для упорядковування. Це може бути зручним способом перевірити, яке з полів є полем для упорядковування, якщо top було запущено із вимкненим підсвічуванням стовпчиків.
   R  :Перемикач оберненого/звичайного упорядковування за полем
За допомогою цієї інтерактивної команди ви можете перемикатися між режимами «від більшого до меншого» та «від меншого до більшого».

4г. ПРИВ'ЯЗКА КОЛЬОРІВ

Якщо ви віддасте інтерактивну команду «Z», програма покаже вам окремий екран. Цим екраном можна скористатися для зміни кольорів лише у «поточному» вікні або в усіх чотирьох вікнах перед поверненням до показу даних top.

Доступними є вказані нижче інтерактивні команди.


4 літери верхнього регістру для вибору цілі
8 цифри для вибору кольору
доступні звичайні перемикачі
B :вимикання/вмикання напіжирного
b :«напівжирні»/звичайні запущені завдання
z :колір/монохроматичність
доступні інші команди
a/w :застосувати, потім перейти до наступного/попереднього
<Enter> :застосувати і вийти
q :відкинути поточні зміни і вийти

Якщо ви скористаєтеся «a» або «w» для циклічного переходу вікном призначення, ви матимете застосовану схему кольорів, яку було показано, коли ви полишите це вікно. Ви можете, звичайно, без проблем повернутися до будь-якого вікна і повторно застосувати різні кольори або повністю вимкнути кольори за допомогою перемикача «z».

Крім того, екраном прив'язки кольорів можна скористатися для зміни «поточного» вікна або групи полів у повноекранному режимі або режимі альтернативного показу. Щоб не було ціллю при натисканні «q» або <Enter>, його буде зроблено поточним, коли ви повернетеся до показу даних top.

5а. ОГЛЯД ВІКОН

Групи полів/Вікна:
У повноекранному режимі програма показуватиме єдине вікно, яке заповнюватиме увесь екран. У цьому єдиному вікні усе ще можна показ на демонстрацію даних однієї з 4 різних груп полів (див. інтерактивну команду «g», повторену нижче). Кожна з 4 груп полів має унікальну окремо налаштовувану область резюме і власну налаштовувану область завдань.

У режимі альтернативного показу ці базові 4 групи полів тепер можна зробити видимими або вимкнути окремо за вашою командою.

Область резюме існуватиме завжди, навіть якщо це просто рядок повідомлення. У будь-який конкретний момент може бути показано лише одну область резюме. Втім, залежно від ваших команд, може бути від нуля до чотирьох окремих панелей показу завдань одночасно показаних на екрані.

Поточне вікно:
«Поточне» вікно є вікном, яке пов'язано із областю резюме, і вікном, до якого завжди буде спрямовано усі пов'язані із завданням команди. Оскільки у режимі альтернативного показу ви можете перемкнути показ завдань у стан Вимкнено, деякі команди може бути обмежено для «поточного» вікна.

Усе стає складнішим, якщо ви вимкнете перший рядок області резюме. Із втратою назви вікна (рядка, перемкнутого «l»), вам не просто буде визначити, яке з вікон є «поточним».

5б. КОМАНДИ ДЛЯ ВІКОН

   - | _  :Перемикачі показу/приховування вікон
Клавіша «-» вмикає або вимикає показ завдань «поточного» вікна. У стані Увімкнено в області завдань буде показано мінімум заголовка стовпчиків, які встановлено вами за допомогою інтерактивної команди «f». У ній також буде відтворено будь-які інші параметри або перемикачі області завдань, які було застосовано вами з метою отримання даних нуля або більшої кількості завдань.

Клавіша «_» виконує те саме завдання для усіх показів завдань. Іншими словами, ця клавіша перемикає програму між поточними видимими показами завдань і будь-якими показами завдань, які ви перевели у стан Вимкнено. Якщо поточними видимими є усі 4 покази завдань, ця інтерактивна команда лишить область резюме єдиним показаним елементом.

*  = | +  :Вирівняти/Скинути вікна
Використання клавіші «=» примусово встановлює стан видимості для показу завдань «поточного» вікна Вона також обертає усі активні перемикачі «i» (бездіяльні завдання), «n» (максимум завдань), «u/U» (фільтр за користувачем), «o/O» (інший фільтр), «v» (приховати дочірні), «F» (фокусовано), «L» (пошук) і «!» (поєднати дані для процесорів). Також, якщо у вікні було виконано гортання, його буде скинуто цією командою. Див. 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про вертикальне і горизонтальне гортання.

Клавіша «+» робить те саме для усіх вікон. Повторно з'являться усі чотири покази завдань, рівномірно розподілені за розміром, із одночасним збереженням усіх налаштувань, які було застосовано додатково до тих, які описано для команди-перемикача «=».

*  A  :Перемикач режиму альтернативного показу
Ця команда перемикає програму між повноекранним режимом і режимом альтернативного показу.

Коли ви перший раз віддасте цю команду, буде показано усі чотири показу завдань. Надалі, коли ви перемикатимете режими, ви бачитимете лише ті покази завдань, які ви визначили як видимі.

*  a | w  :Наступне-вікно-вперед/назад
Ці команди змінюють «поточне» вікно, що, у свій час, змінює вікно, до якого буде спрямовано команди. Ці клавіші працюють циклічним чином, тому ви можете дістатися будь-якого бажаного вікна за допомогою будь-якої з клавіш.

Якщо назву вікно показано (вами не перемкнуто «l» у стан Вимкнено), коли назва «поточного» вікна втрачає акцент/колір, назва буде нагадуванням про те, що показ завдань Вимкнено, а багато команд буде обмежено.

   G  :Змінити назву вікна/групи полів
Програма попросить вас ввести нову назву, яку буде застосовано до «поточного» вікна. Потреби у видимості назви вікна немає (перемикач «l» може не перебувати у стані Увімкнено).
*
Інтерактивні команди, пункти яких позначено зірочкою (*), можна використовувати поза режимом альтернативного показу.

=, A, g доступні завжди
a, w працюють так само із прив'язкою кольорів
і керуванням полями
*  g  :Вибрати інше вікно/групу полів
Програма попросить вас ввести число від 1 до 4, яке позначає групу полів, яка має стати «поточним» вікном.

У повноекранному режимі ця команда потрібна для зміни «поточного» вікна. У режимі альтернативного перегляду це просто менш зручна альтернатива командам «a» і «w».

5в. ГОРТАННЯ ВІКНА

Типово, вікно завдань є частковим переглядом загальних даних щодо завдань/потоків системи, де буде показано лише деякі з доступних полів/стовпчиків. За допомогою цих клавіш гортання ви можете пересувати перегляд вертикально або горизонтально, щоб дістатися будь-якого бажаного завдання або стовпчика.

Вгору,PgUp  :Гортати завдання
Пересунути перегляд вгору у напрямку першого рядка завдань, аж доки моменту, коли пункт першого завдання буде показано у верхній позиції «поточного» вікна. Клавіша зі стрілкою вгору пересуває перегляд на один рядок, а клавіша PgUp гортає на ціле вікно.
Назад,PgDn  :Гортання завдань
Пересунути перегляд вниз у напрямку останнього рядка завдань, аж доки моменту, коли пункт останнього завдання буде показано єдиним у верхній позиції «поточного» вікна. Клавіша зі стрілкою вниз пересуває перегляд на один рядок, а клавіша PgDn гортає на ціле вікно.
Ліворуч,Праворуч  :Гортання стовпчиків
Пересунути перегляд показаних полів горизонтально на один стовпчик за раз.

Зауваження: Як нагадування, деякі поля/стовпчики мають не фіксовану ширину, а займають решту ширини екрана, якщо їх показано. При гортанні праворуч або ліворуч на першому кроці ця команда може давати не ті результати, на які ви очікували.

Крім того, є певні правила для будь-якого поля змінної ширини, яке розташовано у останньому показаному полі. Щойно ви досягнете останнього поля за допомогою стрілки праворуч, і отже, стане єдиним показаним стовпчиком, ви можете продовжити гортання усередині такого поля. Щоб дізнатися більше, див. інтерактивну команду «C» нижче.

Змінити розташування області показу до координат до гортання.
Змінити розташування області показу так, щоб у найправішому стовпчику було показано дані останнього придатного до показу поля, а нижній рядок завдання відповідав останньому завданню.

Зауваження: З цієї позиції можна гортати вниз і праворуч за допомогою клавіш зі стрілками. Це твердження лишається правильним, аж доки в області перегляду не лишиться єдиного стовпчика і єдиного завдання.

Перемкнути інформаційне повідомлення, яке буде показано, якщо рядок повідомлення не використано іншим чином. Це повідомлення має одну з двох форм. Форма залежить від того, чи було виконано гортання у стовпчику змінної ширини.

координати гортання: y = n/n (завдання), x = n/n (поля)
координати гортання: y = n/n (завдання), x = n/n (поля) + nn

Координати буде показано у форматі n/n відносно верхнього лівого кута «поточного» вікна. Додаткове «+ nn» відтворюватиме зміщення у стовпчику змінної ширини при гортанні його вмісту у горизонтальному напрямку. Такі зміщення розташовуються у звичайних позиціях 8-символьної табуляції при пересуванні за допомогою клавіш зі стрілками праворуч і ліворуч.

Перше n відповідає верхньому видимому завданню, ним керують клавіші гортання. Друге n оновлюється автоматично і відповідає загальній кількості завдань.
Перше n відповідає найлівішому показаному стовпчику, ним керують клавіші гортання. Друге n є загальною кількістю полів, які може бути показано, його значення визначає інтерактивна команда «f».

Наведені вище інтерактивні команди доступні завжди у повноекранному режимі, але ніколи не доступні у режимі альтернативного показу, якщо показ завдань «поточного» вікна Вимкнено.

Зауваження: Якщо активним є фільтрування у будь-якій формі, можна очікувати певні помилки під час гортання, оскільки не усі завдання будуть видимими. Це, зокрема, особливо помітно при використанні клавіш зі стрілками вгору/вниз.

5г. ПОШУК У ВІКНІ

Ви можете скористатися цими інтерактивними командами для пошуку рядка завдання, що містить певне значення.

Програма попросить вас ввести рядок без врахування регістру символів для пошуку, починаючи з координат поточного вікна. Обмежень на вміст рядка пошуку не передбачено.

Пошук не обмежено значеннями з єдиного поля або стовпчика. У рядку пошуку можна використовувати усі значення, які показано у рядку завдання. До рядка пошуку можна включати пробіли, цифри, символи і навіть графічні символи перегляду лісу.

Натискання клавіші <Enter> без введених даних призведе до вимикання перемикача «&», аж доки не буде введено нового рядка для пошуку.

&  :Locate-next
Якщо було вказано рядок пошуку, top спробує знайти наступний відповідник критерію пошуку.

Якщо буде знайдено відповідник, поточне вікно буде переміщено вертикально так, щоб рядок завдання, який містить знайдений відповідник, став першим. У повідомленні координат гортання може бути показано підтвердження такого вертикального переміщення (див. інтерактивну команду «C»). Втім, горизонтальна позиція гортання під час пошуку ніколи не змінюється.

На доступність рядка-відповідника будуть впливати вказані нижче фактори.

а. Які поля може бути показано з загального доступного набору,
Див. 3б. КЕРУВАННЯ ПОЛЯМИ.
б. Гортання вікна у вертикальному і/або горизонтальному напрямку,
Див. розділ 5в. ГОРТАННЯ ВІКНА.
в. Стан перемикача команда/командний рядок,
Див. інтерактивну команду «c».
г. Стабільність вибраного для упорядковування стовпчика,
наприклад, PID працює добре, а %CPU — погано.

Якщо пошуки завершаться невдачею, відновлення початкової позиції (без гортання) у «поточному» вікні, горизонтальне гортання, показ командних рядків або вибір стабільнішого поля гортання може зробити пошук «&» успішним.

Наведені вище інтерактивні команди доступні завжди у повноекранному режимі, але ніколи не доступні у режимі альтернативного показу, якщо показ завдань «поточного» вікна Вимкнено.

5д. ФІЛЬТРУВАННЯ У ВІКНІ

Ви можете скористатися цією можливістю іншого фільтра, щоб встановити критерій вибору, який визначить, які завдання буде показано у «поточному» вікні. Такі фільтри можна зробити сталими, якщо зберегти їх до файла rcfile за допомогою інтерактивної команди «W».

Встановлення фільтра мінімально потребує: 1) назви поля; 2) оператора та 3) значення вибору. Це найскладніші вимоги щодо введених користувачем даних у top. Тому, якщо ви зробили помилку, вам допоможе пам'ять команд. Пам'ятайте про клавіші зі стрілками вгору/вниз або їхні альтернативи при запитах на введення даних.

Основи фільтрування

1. у назвах полів слід враховувати регістр і писати їх так, як у заголовку
2. значення вибору не обов'язково мають повністю вміщати показане поле
3. у виборі або не враховується регістр символів, або враховується
4. типовим є включення, додавання на початку «!» означає виключення
5. до вікна завдань може бути застосовано декілька критеріїв вибору
6. критерії включення і виключення може бути використано одночасно
7. можна довільним чином поєднувати 1 фільтр рівності і 2 фільтри відношення
8. для кожного вікна завдань передбачено окремі унікальні фільтри

Якщо поле не увімкнено або у поточний момент не показано, ваші критерії вибору не впливатимуть на показ. Пізніше, якщо фільтроване поле стане видимим, критерії вибору буде застосовано.

Резюме щодо клавіатури

  O  :Інший фільтр (верхній регістр)
Програма попросить вас встановити фільтр із врахуванням регістру символів.
  o  :Інший фільтр (нижній регістр)
Програма попросить вас встановити фільтр, у якому при встановленні відповідності регістр символів буде проігноровано.
 ^O  :Показати активні фільтри (клавіша Ctrl + «o»)
За допомогою цієї команди можна згадати, які фільтри є активними у «поточному» вікні. Резюме буде показано у рядку повідомлення аж до натискання клавіші <Enter>.
  =  :Скинути фільтрування у поточному вікні
Ця команда знімає усі ваші критерії вибору у «поточному» вікні. Також має додатковий вплив на показу, тому, будь ласка, ознайомтеся з розділом 4а. ЗАГАЛЬНІ КОМАНДИ.
  +  :Скинути фільтрування в усіх вікнах
Ця команда вилучає усі критерії вибору в усіх вікнах, якщо ви працюєте у режимі альтернативного показу. Так само, як із інтерактивною командою «=», її застосування призводить до додаткових наслідків, тому варто ознайомитися із розділом 5б. КОМАНДИ ДЛЯ ВІКОН.

Вимоги до вхідних даних

У відповідь на запит щодо критерії вибору вам слід вказати дані в одній з двох форм. Передбачено 3 обов'язкових елементів даних і четвертий додатковий. У наведених прикладах пробіли використано для зручності читання, але, загалом, їх можна і не використовувати.


#1 #2 #3 ( обов'язкові )
Назва-поля ? значення-для-включення
! Назва-поля ? значення-для-виключення
#4 ( додаткове )

Пункти #1, #3 і #4 неважко зрозуміти і без пояснень. Пункт #2 є одразу і обов'язковим роздільником, і оператором, яким є одне зі значень: рівність («=») або відношення («<» або «>»).

Оператор рівності «=» потребує лише часткової відповідності і це може зменшити вимоги щодо вхідних даних для «значення». Для операторів відношення «>» або «<» буде використано порівняння рядків, навіть для числових полів. Їх розроблено для роботи з типовим вирівнюванням полів і однорідними даними. Якщо деякі числові дані у певному полі масштабовано, а інші ні, дані вже не будуть однорідними.

Якщо вами встановлено фільтр відношення і ви змінили типове вирівнювання числових або символьних даних, цей фільтр, ймовірно, не спрацює. Якщо фільтр відношення застосовано до поля пам'яті, і вами не змінено масштабування, результати можуть бути помилковими. Таке трапляється, наприклад, оскільки «100.0m» (МіБ) програма вважає більшим значенням за «1.000g» (ГіБ) при порівнянні рядків.

Якщо фільтровані результати виглядають підозріливо, просто змініть вирівнювання або масштабування для отримання бажаної мети. Щоб дізнатися більше про вирівнювання, ознайомтеся із описом інтерактивних команд «j», «J» і «e».

Потенційні проблеми

Ці фільтри для GROUP можуть давати ті самі результати або другий фільтр не покаже нічого, просто порожнє вікно завдань.


GROUP=root ( ті самі результати, лише )
GROUP=ROOT ( якщо викликано малим «o» )

Обидва цих фільтри за RES можуть дати різні і/або помилкові результати, залежно від поточного коефіцієнта масштабування пам'яті. Втім, обидва фільтри можуть дати абсолютно однакові результати.


RES>9999 ( ті самі результати, лише )
!RES<10000 ( якщо пам'ять масштабовано за «КіБ» )

Цей фільтр за nMin ілюструє проблему, яка є притаманною масштабованим полям. У цьому полі, зокрема, може бути показано не більше 4 цифр. При перевищенні кількості значення буде автоматично масштабовано до КіБ або більшої одиниці. І, якщо існують значення, які є більшими 9999, їх буде показано як 2,6m, 197k тощо.


nMin>9999 ( завжди порожнє вікно завдання )

Потенційні рішення

Ці приклад ілюструють, як інше фільтрування можна творчо застосувати до отримання майже будь-яких бажаних результатів. Одинарні лапки іноді використовують для відокремлення пробілів, які є частиною фільтра, або точного представлення запиту щодо стану (^O). Але якщо ви використаєте їх із значеннями в умовах в реальних прикладах, нічого не буде знайдено.

Якщо припустити, що показано поле nTH, перший фільтр призведе до показу лише процесів із декількома потоками обробки. Також приклад нагадує нам, що частиною кожного показаного поля є кінцевий пробіл. Другий фільтр дає абсолютно такий самий результат, але він є коротшим.


!nTH=` 1 ' ( ' лише для зручності читання )
nTH>1 ( те саме, але коротше )

Якщо активним є режим перегляду лісу і показано стовпчик COMMAND, використання цього фільтра призведе до згортання дочірніх процесів так, що буде показано лише 3 рівні.


!COMMAND=` `- ' ( ' лише для зручності читання )

Останні два фільтри показано як відповіді на натискання комбінації запиту щодо стану (^O). У реальності для кожного з них потрібні окремі вхідні дані. У прикладі для PR показано два конкурентних фільтри, потрібні для показу завдань із пріоритетностями 20 або більше, оскільки значення пріоритетності можуть бути і від'ємними. Далі, використовуючи кінцеві пробіли, набір фільтрів nMin надає змогу отримати результат у випадку з помилкою «9999», яку обговорено вище.


`PR>20' + `!PR=-' ( 2 для правильного результату )
`!nMin=0 ' + `!nMin=1 ' + `!nMin=2 ' + `!nMin=3 ' ...

6а. ФАЙЛ ОСОБИСТИХ НАЛАШТУВАНЬ

Цей файл створюється і оновлюється інтерактивною командою «W».

Застарілу версію буде записано як `$HOME/.ваша-назва-4-top' + `rc' з початковою крапкою у назві.

Новостворений файл налаштувань буде записано як procps/ваша-назва-4-top' + «rc» без початкового пробілу. Каталог procps є підкаталогом або у каталозі, який визначається змінною $XDG_CONFIG_HOME, якщо її значенням є абсолютний шлях, або у каталозі $HOME/.config.

Хоча файл і не призначено для редагування вручну, ось його загальне компонування:


загальне # рядок 1: назва/альтернатива назви програми
" # рядок 2: id,altscr,irixps,delay,curwin
окремі # рядок a: winname,fieldscur
вікна # рядок b: winflags,sortindx,maxtasks тощо
" # рядок c: summclr,msgsclr,headclr,taskclr
загальне # рядок 15: різні додаткові параметри
" # у решті рядків описують необов'язкові активні
" # «інші фільтри», які описано у розділі 5д вище, а
" # також записи «inspect», які описано у розділі 6б нижче

Якщо коректний абсолютний шлях до файла rc не вдасться встановити, налаштування, які виконано у запущеній програмі top, не можна буде зберегти.

6б. ДОДАВАННЯ ЗАПИСІВ ДЛЯ ІНСПЕКТУВАННЯ

Щоб скористатися інтерактивною командою «Y», вам слід додати записи наприкінці особистого файла налаштувань top. Такі записи просто вказують файл, який слід прочтати або команду/канал даних, які слід виконати, і результати виконання яких слід показати в окремому придатному до гортання і пошуку вікні.

Якщо вам не відоме місце зберігання або назва вашого файла rc top, скористайтеся інтерактивною командою «W», щоб перезаписати його і запам'ятайте його параметри.

Записи інспектування можна додати переспрямовуванням echo або редагуванням файла налаштувань. Переспрямовування echo небезпечне через можливість перезапису файла rc, якщо буде використано заміну (>), а не дописування (>>) до цього файла. А якщо ви користуватиметеся редактором, слід слідкувати за тим, щоб не пошкодити наявні рядки, деякі з яких будуть містити непридатні до друку або незвичайні символи, залежно від версії top, у якій було збережено файл налаштувань.

Записи інспектування, які починаються з символу «#» буде проігноровано, незалежно від вмісту. Інші записи мають складатися з вказаних нижче 3 елементів, кожен з яких має бути відокремлено від інших символом табуляції (отже, містити загалом 2 «\t»):


.type: буквально «file» або «pipe»
.name: вибір, який буде показано на екрані інспектування
.fmts: рядок шляху або команди

Два типи записів інспектування не є взаємозамінними. Доступ до тих, які позначено як «file», буде здійснюватися за допомогою fopen, вони мають посилатися на єдиний файл в елементі «.fmts». Записи, які задають «pipe» підлягатимуть дії popen, їхній елемент «.fmts» може містити багато команд у конвеєрі, жодна з цих команд не повинна бути інтерактивною.

Якщо файл або конвеєр, представлений у вашому «.fmts», має справу зі специфічними вхідними даними PID або приймає дані, якщо запитано, у рядку форматування також має міститися специфікація «%d», як у наших демонстраційних прикладах.


.fmts= /proc/%d/numa_maps
.fmts= lsof -P -p %d

Лише для записів типу «pipe», вам, ймовірно, також слід переспрямувати stderr до stdout для покращення результатів. Таким чином, рядок форматування буде таким:


.fmts= pmap -x %d 2>&1

Тут наведено приклади обох типів записів інспектування у такому вигляді, у якому вони можуть з'являтися у файлі rc. Перший запис буде проігноровано через початковий символ «#». Для зручності читання до псевдозамінників табуляції (^I) додано додаткові пробіли з обох боків, але справжні табуляції таким чином не виокремлено.


# pipe ^I Sockets ^I lsof -n -P -i 2>&1
pipe ^I Open Files ^I lsof -P -p %d 2>&1
file ^I NUMA Info ^I /proc/%d/numa_maps
pipe ^I Log ^I tail -n100 /var/log/syslog | sort -Mr

Окрім коментованого запису вище, у наступних прикладах показано, що можна переспрямувати з echo для отримання подібних результатів, у припущенні, що файлом rc є файл «.toprc». Втім, через вбудовані символи табуляції перед кожним з цих рядків слід дописувати «/bin/echo -e», а не просто «echo», щоб уможливити обробку символів зворотної похилої риски, незалежно від використаної вами командної оболонки.


"pipe\tOpen Files\tlsof -P -p %d 2>&1" >> ~/.toprc
"file\tNUMA Info\t/proc/%d/numa_maps" >> ~/.toprc
"pipe\tLog\ttail -n200 /var/log/syslog | sort -Mr" >> ~/.toprc

Якщо будь-який зі створених вами записів інспектування виводитиме дані із непридатними до друку символами, їх буде показано або у позначеннях, подібних до ^C, або у шістнадцятковій формі, подібній до <FF>, залежно від значення. Це стосується символів табуляції, які буде показано як «^I». Якщо вам потрібне краще представлення, усі вбудовані табуляції має бути розгорнуто. У наведеному нижче прикладі програма приймає те, що могло б бути записом «file», але використовує замість нього «pipe» для розгортання вбудованих табуляцій.


# наступний рядок мав би містити «\t» ...
# файл ^I <ваша_назва> ^I /proc/%d/status
# але це вилучить вбудований `\t' ...
pipe ^I <ваша_назва> ^I cat /proc/%d/status | expand -

Зауваження: Для завершення деяких програм може бути потрібним SIGINT. Тому, якщо встановлено «pipe», подібний до наведеного нижче, доведеться скористатися Ctrl-C для його переривання, щоб переглянути результати. Це єдиний випадок, коли «^C» не завершить також і роботу top.


pipe ^I Trace ^I /usr/bin/strace -p %d 2>&1

Нарешті, хоча ми описували записи типу «pipe» у термінах конвеєрів і команд, нічого не заважає вам включати і скрипти командної оболонки. Можливо, навіть новостворені скрипти, які спеціально розроблено для інтерактивної команди «Y».

Наприклад, зі зростанням кількості записів інспектування з часом, рядок «Параметри:» буде обрізано при перевищенні ширини екрана. Це не вплине на працездатність записів, але зробить деякі з варіантів вибору невидимими. Втім, якщо деякі варіанти обрізано, а ви хочете переглянути усі, існує просте рішення, підказку щодо якого можна бачити нижче.


Інспектування Призупинка: pid ...
Кор: ліворуч/праворуч, потім <Enter> ...
Пункти: help 1 2 3 4 5 6 7 8 9 10 11 ...

Записи у файлі rc top повинні мати номери у елементах «.name», а запис «help» має ідентифікувати скрипт оболонки, який ви написали для пояснення того, що саме позначають ці нумеровані варіанти вибору. У такий спосіб можна зробити видимими набагато більше варіантів вибору.

6в. ФАЙЛ ЗАГАЛЬНОСИСТЕМНИХ НАЛАШТУВАНЬ

Цей файл налаштувань містить типові значення для користувачів, якими не було збережено власний файл налаштувань. Формат точно такий самий, як в особистих файлів налаштувань, а також може включати записи «inspect», які описано вище.

Процедура його створення проста.

1. Налаштуйте top відповідним чином для встановленої у вас програми і збережіть налаштування за допомогою інтерактивної команди «W».

2. Додайте і перевірте роботу будь-яких бажаних записів «inspect».

3. Скопіюйте файл налаштувань до каталогу /etc/, скориставшись для нього назвою `topdefaultrc'.

6г. ФАЙЛ ЗАГАЛЬНОСИСТЕМНИХ ОБМЕЖЕНЬ

Наявність цього файла вплине на те, яку версію екрана довідки буде показано звичайному користувачу.

Що важливіше, він обмежить перелік завдань, які зможуть виконувати звичайні користувачі, коли запущено top. Користувачі не зможуть віддавати наведені нижче команди.


k припинити виконання завдання
r змінити пріоритетність (nice) завдання
d або s змінити інтервал затримки/присипляння

Цей файл налаштувань не буде створено top. Замість цього, його створюють вручну і зберігають у каталозі /etc/ із назвою «toprc».

У ньому має бути точно два рядки, як це показано у прикладі:


s # рядок 1: перемикач захищеного режиму
5.0 # рядок 2: інтервал затримки у секундах

Встановлене значення є несуттєвим, достатнього самого факту його встановлення.

Запобігає показу будь-яких потоків обробки ядра та виключає такі процеси з обліку завдань/потоків в області резюме.

Багато з цих трюків найкраще працюють, якщо ви підвищите пріоритетність планування top. Тому заплануйте запуск програми із значенням пріоритетності (nice) -10, якщо ви маєте відповідні права доступу.

7а. Магія ядра

Для цих химерних трюків потрібен повноекранний режим.

  • Інтерфейс користувача, у запитах і довідці, навмисне припускає, що інтервал затримки обмежено десятими частками секунди. Втім, ви можете встановити будь-яку бажану затримку. Якщо ви хочете бачити усі можливості Linux, спробуйте затримку у 0,09 секунд або меншу.

    Для цього експерименту відкрийте у x-window xterm і максимізуйте вікно програми. Далі, зробіть таке:


    . встановіть підвищений пріоритет і малу затримку:
    nice -n -10 top -d.09
    . вимкніть підсвічування стовпчика упорядковування
    так, щоб мінімізувати довжину шляху
    . увімкніть зворотне підсвічування для акцентування
    . спробуйте різні стовпчики упорядковування (добрий
    варіант TIME/MEM) і звичайне або обернене
    упорядкування для того, щоб бачити більшість
    активних процесів

    Ви побачите дуже зайнятий Linux, який робить те, що завжди для вас, але без програми, яка б це ілюструвала.

  • У xterm з використанням чорно-білих кольорів на екрані прив'язки кольорів top встановіть чорний колір завдань і переконайтеся, що для підсвічування встановлено напівжирний шрифт, а не обернений. Далі, встановіть інтервал затримки у значення, яке приблизно дорівнює 0,3 секунди.

    Після того, як стане видимою більшість активних процесів, ви побачите примарні образи лише поточних робочих завдань.

  • Вилучіть наявний файл rc або створіть нове символічне посилання. Запустіть цю нову версію, потім натисніть клавішу «T» (секретна клавіша, див. 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, УПОРЯДКОВУВАННЯ), потім клавіші «W» і «q». Нарешті, перезапустіть програму з використанням параметра -d0 (нульова затримка).

    Ваш дисплей буде оновлюватися утричі швидше, ніж до цього у top, — 300% підвищення швидкості. Оскільки top здирається драбиною TIME, будьте терплячими, оскільки важко вгадати, чи зможе top наздогнати top.

7б. Вікна-стрибунці

Для цих химерних трюків потрібен режим альтернативного показу.

  • Із 3 або 4 видимими показами завдань виберіть будь-яке вікно, окрім останнього і вимкніть бездіяльні процеси за допомогою команди-перемикача «i». Залежно від того, де вами застосовано «i», іноді підстрибуватимуть декілька показів завдань, а іноді, все нагадуватиме акордеон, оскільки top намагатиметься якнайкраще використати простір на екрані.
  • Встановіть для кожного з вікон різні рядки резюме: один без пам'яті («m»); інший без станів («t»); можливо, один взагалі без нічого, просто рядок повідомлення. Далі, натисніть і утримуйте «a» або «w», і спостерігайте за варіацією у підстрибуванні вікон  --  вікна-стрибунці.
  • Зробіть видимими усі 4 вікна, і для кожного, по черзі, вимкніть бездіяльні процеси за допомогою команди-перемикача «i». Ви просто увійшли до зони «екстремальне підстрибування».

7в. Вікно Великого Птаха

Для цього химерного трюку також потрібен режим альтернативного показу.

Зробіть видимими усі 4 вікна і переконайтеся, що «поточним» вікном є 1:Def. Далі, збільшуйте розмір вікна за допомогою інтерактивної команди «n», аж доки усі інші покази завдань буде «виштовхнуто з гнізда».

Коли їх буде переміщено, перемкніться між усіма видимими/невидимими вікнами за допомогою команди-перемикача «_». Потім обміркуйте це:
top видумує результати чи чесно повідомляє вам оманливу правду?

7г. Перемикачка

Цей химерний трюк найкраще працює без режиму альтернативного перегляду, оскільки вирівнювання буде активним на рівні окремого вікна.

Запустіть top із робіть COMMAND останнім (найправішим) показаним стовпчиком. Якщо потрібно, скористайтеся командою-перемикачем «c» для показу рядків команд і переконайтеся, що активним є режим перегляду лісу, скориставшись командою-перемикачем «V».

Потім скористайтеся клавішами зі стрілками вгору/вниз для розташування показу так, щоб було показано якісь обрізані рядки команд («+» в останній позиції). Ви можете змінити розміри вашого xterm, щоб сталося обрізання.

Нарешті, скористайтеся командою-перемикачем «j», щоб встановити вирівнювання праворуч у стовпчику COMMAND.

Далі, скористайтеся клавішею зі стрілкою праворуч, щоб дістатися стовпчика COMMAND. Продовжіть натискати клавішу зі стрілкою праворуч, ретельно стежте за напрямком у якому рухаються показані рядки команд.


деякі рядки пересунуться ліворуч, а інші — праворуч


нарешті, усі рядки перемкнуться і посунуться праворуч

Про вади, будь ласка, повідомляйте на адресу procps@freelists.org.

free(1), ps(1), uptime(1), atop(1), slabtop(1), vmstat(8), w(1)

серпень 2023 року procps-ng