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 перейти на кінець рядка введення
У програмі використано три типи пам'яті, один є необов'язковим. Першим типом є фізична пам'ять, обмежений ресурс, у якому зберігаються код і дані при виконанні або використанні. Далі, є необов'язковий файл резервної пам'яті, де зберігаються змінені дані, які згодом можна отримати, якщо перевищено обсяг для фізичної пам'яті. Нарешті, є віртуальна пам'ять, майже необмежений ресурс якої використовується за такими призначеннями:
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 працює у захищеному режимі, усім, окрім користувача root (якщо не було використано параметра командного рядка «s»). Додаткові відомості щодо захищеного режиму наведено у розділі 6г. ФАЙЛ ЗАГАЛЬНОСИСТЕМНИХ ОБМЕЖЕНЬ.
k - кібібайти m - мебібайти g - гібібайти t - тебібайти p - пебібайти e - ексбібайти
Згодом масштабування можна змінити за допомогою команди-перемикача «E».
k - кібібайти m - мебібайти g - гібібайти t - тебібайти p - пебібайти
Згодом масштабування можна змінити за допомогою команди-перемикача «e».
Цей параметр призначено, в основному, для підтримки роботи у автоматизованому/керованому скриптами пакетному режимі.
Цей параметр можна використати до 20 разів або ви можете вказати список відокремлених комами аж до 20 pid. Можна використовувати суміш обох записів.
Нульове значення pid вважається ідентифікатором процесу самої програми top після її запуску.
Це лише параметр командного рядка, і якщо ви хочете повернутися до звичайного режиму роботи програми, немає потреби у виході з програми і перезапуску -- просто видайте одну з таких інтерактивних команд: «=», «u» або «U».
Параметри командного рядка «p», «u» і «U» є взаємно виключними.
Додавання знаку оклику («!») до ідентифікатора користувача або імені наказує top показати лише процеси користувачів, які не збігаються із вказаним.
Параметри командного рядка «p», «u» і «U» є взаємно виключними.
Додавання знаку оклику («!») до ідентифікатора користувача або імені наказує top показати лише процеси користувачів, які не збігаються із вказаним.
Параметри командного рядка «p», «u» і «U» є взаємно виключними.
У режимі звичайного показу, якщо параметр вказано без аргументу top спробує форматувати виведення з використанням змінних середовища COLUMNS= і LINES=, якщо їхні значення встановлено. Якщо аргумент вказано, ширину виведення може бути лише зменшено, а не збільшено. Буде використано змінні середовища чи аргумент з -w, якщо програма не працює у пакетному режимі, справжні розмірності терміналу ніколи не може бути перевищено.
Зауваження: Без використання цього параметра командного рядка, ширина виведення завжди обчислюється на основі термінала, з якого викликано top, незважаючи на те, чи запущено програму у пакетному режимі.
Див. інтерактивні команди «1» і «2», щоб дізнатися більше.
Кожною з описаних нижче областей можна окремо керувати за допомогою однією або декількох інтерактивних команд. Див. розділ 4б. КОМАНДИ ОБЛАСТІ РЕЗЮМЕ, щоб дізнатися більше про ці команди.
Ця частина складається з одного рядка такого вмісту:
назва програми або вікна, залежно від режиму показу; поточний час і час з моменту останнього завантаження; загальна кількість користувачів; середнє навантаження на систему за останні 1, 5 і 15 хвилин
Ця частина складається з принаймні двох рядків. У середовищі із симетричною багатопроцесорністю додаткові рядки може бути використано для показу окремих часток кожного процесора.
У першому рядку буде показано загальну кількість завдань або потоків обробки, залежно від стану перемикача режиму потоків. Загальні дані далі буде класифіковано так:
працює; приспано; зупинено; зомбі
У другому рядку буде показано частки стану центрального процесора на основі проміжку часу з останнього оновлення даних.
Типово, буде показано частки для наведених нижче категорій. Якщо версія ядра є невідповідною, поле 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».
Ця частина складається з двох рядків, у яких може бути показано значення в одиницях від кібібайтів (КіБ) до ексбібайтів (ЕіБ) залежно від коефіцієнта масштабування, який визначається інтерактивною командою «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 байтів
Нижче наведено список доступних у top полів процесів (стовпчиків). Пункти вказано строго за абетковим порядком ASCII. Ви можете змінити їхні позиції та те, чи буде їх показано за допомогою інтерактивної команди «f» (керування полями).
Як поле для упорядковування можна використовувати будь-яке поле. Ви можете керувати тим, буде записи упорядковано за зростанням чи спаданням. Щоб дізнатися більше про упорядковування, зверніться до розділу 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, УПОРЯДКОВУВАННЯ.
Дані у полях, які пов'язано із фізичною пам'яттю та віртуальною пам'яттю, використано «(КіБ)», режим показу без суфіксів одиниць. Втім, у таких полях можливе масштабування від КіБ до ПіБ. Це масштабування визначають інтерактивною командою «e» або під час запуску за допомогою параметра збирання.
У справжньому середовищі із симетричною багатопроцесорністю, якщо процес є багатопотоковим, і top не працює у режимі потоків, може бути показано значення більші за 100%. Перемкнути режим потоків можна за допомогою інтерактивної команди «H».
Також для багатопроцесорних середовищ, якщо режим Irix Вимкнено, top працюватиме у режимі Solaris, у якому використання процесора завданням буде поділено на загальну кількість процесорів. Перемкнути режими Irix/Solaris можна за допомогою інтерактивної команди «I».
Зауваження: Якщо програма працює у режимі перегляду лісу («V») зі згорнутими дочірніми процесами («v»), до цього поля також буде включено час процесора для цих невидимих дочірніх процесів. Див. розділ 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, ВМІСТ, щоб дізнатися більше про перемикачі «V» та «v».
Якщо на поточний момент для процесу буде показано високе використання процесора, це поле може допомогти визначити, чи належним чином поводить себе процес. Навпаки, процес мало використовує процесор, %CUU може показати попередні вищі вимоги під час роботи процесу.
Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.
Якщо встановлено /proc/sys/kernel/sched_autogroup_enabled, для кожного сеансу (див. SID) буде створено автогрупу. Усі наступні відгалужені процеси у цьому сеансі успадкують членство у цій автогрупі. Надалі, ядро спробує вирівняти розподіл циклів процесора між такими групами. Таким чином, автогрупа із багатьма інтенсивними щодо процесора процесами (наприклад, make -j) не домінуватиме над автогрупою із лише одним або двома процесами.
Якщо показано -1, відомості є недоступними.
Це, типово, буде останній запис у повному списку груп керування, показаного під наступним заголовком (CGROUPS). Це поле також має змінну ширину.
Групи керування призначено для розподілу ресурсів (процесора, пам'яті, каналу мережі тощо) серед визначених під час встановлення груп процесів. Вони уможливлюють тонкий контроль над розподілом ресурсів, забороною використання ресурсів, пріоритетами у використанні ресурсів, керування ресурсами та спостереження за ресурсами.
Одночасно у системі може бути багато різних ієрархій груп керування. Кожну з ієрархій пов'язано із однією або декількома підсистемами. Підсистема відповідає єдиному ресурсу.
Зауваження: Поле CGROUPS, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів). Попри це, такі поля змінної ширини теж можуть підлягати обрізанню. Див. розділ 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про доступ до будь-яких обрізаних даних.
Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.
Якщо ви
вибрали
режим
рядка
команди,
процеси
без рядка
команди
(зокрема
потоки
ядра) буде
показано
лише
назвою
програми
у
квадратних
дужках, як
у цьому
прикладі:
[kthreadd]
На це поле також може впливати режим показу дерева. Див. інтерактивну команду «V», щоб дізнатися більше про цей режим.
Зауваження: Поле COMMAND, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів). Попри це, такі поля змінної ширини теж можуть підлягати обрізанню. Це особливо стосується цього поля при показі рядків команди (інтерактивна команда «c».) Див. розділ 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про доступ до будь-яких обрізаних даних.
Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.
Значення буде показано як «ГГ,ХХ» (години,хвилини), але його може бути масштабовано, якщо інтервал стає надто великим, щоб його можна було показати у стовпчику. Тобто, його може бути масштабовано до «ДД+ГГ» (дні+години) і, можливо, далі.
Зауваження: Поле ENVIRON, на відміну від більшості стовпчиків, не є полем фіксованої ширини Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів). Попри це, такі поля змінної ширини теж можуть підлягати обрізанню. Це особливо стосується цього поля. Див. розділ 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про доступ до будь-яких обрізаних даних.
Зауваження: Поле EXE, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів).
Зауваження: Це значення впливає лише на пріоритет планування відносно інших процесів у тій самій автогрупі. Див. поля «AGID» та «AGNI», щоб дізнатися більше про автогрупи.
Див. інтерактивні команди «2» і «3», щоб дізнатися більше про параметри NUMA, які стосуються області резюме.
Це значення також може бути використано як ідентифікатор групи процесів (див. PGRP); ідентифікатор сеансу для лідера сеансу (див. SID); ідентифікатор групи потоків для лідера групи потоків (див. TGID); і ідентифікатор групи процесів термінала для лідера групи процесів (див. TPGID).
У linux пріоритетність реального часу є дещо оманливим терміном, оскільки, традиційно, сама система не була системою із витісненням. І хоча ядро 2.6 можна зробити ядром, яке є здебільшого придатним до витіснення, працює це не завжди.
Наприклад, якщо у процесу є 1000 резидентних сторінок і 1000 резидентних сторінок є спільними з іншим процесом, значенням «PSS» буде рівним 1500 (помножене на розмір сторінки).
Доступ до значень smaps є удесятеро коштовнішим щодо обчислювальних можливостей, ніж доступ до інших статистичних даних щодо пам'яті, а доступ до даних для інших користувачів потребує привілеїв root..
PSan --
Пропорційна
анонімна
пам'ять, smaps
(КіБ)
PSfd --
Пропорційна
файлова
пам'ять, smaps
(КіБ)
PSsh --
Пропорційна
пам'ять shmem, smaps
(КіБ)
Доступ до значень smaps є удесятеро коштовнішим щодо обчислювальних можливостей, ніж доступ до інших статистичних даних щодо пам'яті, а доступ до даних для інших користувачів потребує привілеїв root..
Може включати приватні анонімні сторінки, приватні сторінки, які пов'язано із файлами (включно із образами програм та бібліотеками спільного використання) разом із анонімними сторінками спільного використання. Резервне копіювання усієї цієї пам'яті здійснюється до файла резервної пам'яті, який окремо показано у полі SWAP.
Нарешті, це поле також може включати спільні сторінки із резервними копіями у файлах, які, якщо до них внесено зміни, працюють як файл резервної пам'яті і, таким чином, ніколи не впливають на значення SWAP.
Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.
Доступ до значень smaps є удесятеро коштовнішим щодо обчислювальних можливостей, ніж доступ до інших статистичних даних щодо пам'яті, а доступ до даних для інших користувачів потребує привілеїв root..
Завдання, які показано як такі, які працюють, правильніше було б назвати готовими до роботи -- їхня task_struct є просто представлена у черзі роботи Linux. Навіть без справжньої машини із симетричною багатопроцесорністю ви можете побачити чисельні завдання у цьому стані. Кількість залежатиме від інтервалу затримки top та значення пріоритетності (nice).
Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.
Значення буде показано у форматі «ХХ:СС» (хвилини:секунди). Але якщо інтервал є надто великим, і не вміщується у стовпчик, його буде масштабовано до «ГГ,ХХ» (години,хвилини) і, можливо, далі, зі збільшенням одиниць.
Зауваження: Поле SUPGIDS, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів).
Зауваження: Поле SUPGRPS, на відміну від більшості стовпчиків, не є полем фіксованої ширини. Якщо його показано, воно разом із іншими полями змінної ширини доповнюватиме текст у рядку до межі ширини екрана (аж до максимальної ширини у 512 символів).
Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.
Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.
Доступ до значень smaps є удесятеро коштовнішим щодо обчислювальних можливостей, ніж доступ до інших статистичних даних щодо пам'яті, а доступ до даних для інших користувачів потребує привілеїв root..
Див. «ОГЛЯД, типи пам'яті Linux», щоб дізнатися більше.
Для показу даних «io» для інших користувачів потрібні права доступу користувача root.
Це поле стало застарілим з виходу linux 2.6 і його вмістом завжди є нуль.
У відповідь на натискання клавіші інтерактивної команди «f» (керування полями) програма покаже вам екран із: 1) назвою «поточного» вікна; 2) призначеним полем упорядковування; 3) усіма полями у поточному порядку разом із їхніми описами. Пункти, які позначено зірочкою є поточними показаними полями, перегляд яких уможливлює ширина екрана.
Екраном керування полями також можна скористатися для внесення змін до поточного вікна або групи полів у повноекранному режимі показу або режимі альтернативного показу. Що б не було позначено у момент натискання «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, просто віддайте команду показу довідки і перегляньте резюме щодо системи у другому рядку.
Скористайтеся будь-якою з цих клавіш, якщо інтервал затримки є надто великим, і ви хочете ознайомитися із поточним станом.
Натискання «h» або «?» на цьому екрані довідки призведе до показу довідки для цих інтерактивних команд із застосуванням до режиму альтернативного показу.
Крім того, якщо у вікні було виконано гортання, його буде повернуто до початкового стану цією командою.
Зауваження: Якщо цей перемикач Увімкнено, і top працює у монохромному режимі, для усього дисплея буде використано звичайний текст. Таким чином, якщо не використано перемикач «x» і/або«y» для обернення акцентування тексту, не буде ніякого візуального підтвердження, що ці перемикачі увімкнено.
Буде враховано вказані дробові частки секунд, але від'ємні числа використовувати не можна. Введення 0 спричинить (майже) неперервне оновлення даних із незадовільними результатами, оскільки система та драйвер термінала намагатимуться задовольнити вимоги top. Значення затримки є обернено пропорційним до навантаження на систему, тому встановлювати його слід обережно.
Якщо вам захочеться переглянути поточне значення часу затримки, просто віддайте команду показу довідки і перегляньте резюме щодо системи у другому рядку.
Якщо ви побачите «+» між показаним числом та наступною міткою, це означатиме, що програма top примусово обрізала частину числа. Обрізання можна уникнути, якщо збільшити коефіцієнт масштабування.
Хоча top намагатиметься зважати на вибраний діапазон цілей, може знадобитися додаткове масштабування з метою пристосування до поточних значень. Якщо вам потрібен більш однорідний результат у стовпчиках пам'яті, цілі можна, зазвичай, досягти збільшенням діапазону масштабування. Втім, надмірне його підняття, ймовірно, призведе до показу одних нулів, які не можна буде придушити інтерактивною командою «0».
Якщо PID не буде введено або буде введено від'ємне число, програма використає типове значення, яке показано у запиті щодо команди (перше показане завдання). Нульове значення PID означає саму програму top.
Типовим сигналом, як це буде показано у запиті, є SIGTERM. Втім, ви можете надіслати будь-який сигнал, вказавши число або назву.
Якщо ви хочете перервати процес завершення роботи завдання, виконайте одну з таких дій, залежно від поступу процедури:
1) у запиті щодо pid введіть некоректне число 2) у запиті щодо сигналу введіть 0 (або будь-який некоректний сигнал) 3) у будь-якому запиті натисніть <Esc>
Якщо PID не буде введено або буде введено від'ємне число, програма використає типове значення, яке показано у запиті щодо команди (перше показане завдання). Нульове значення PID означає саму програму top.
Додатне значення пріоритетності (nice) спричиняє втрату пріоритетності процесом. І навпаки, від'ємне значення пріоритетності призводить до того, що ядро розглядатиме процес як пріоритетніший. Загалом, звичайні користувачі можуть лише збільшувати значення пріоритетності і не можуть його зменшувати.
Якщо ви хочете перервати процес зміни пріоритетності завдання, виконайте одну з таких дій, залежно від поступу процедури:
1) у запиті щодо pid введіть некоректне число 2) у запиті щодо пріоритетності натисніть <Enter> без введення значення 3) у будь-якому запиті натисніть <Esc>
Цією інтерактивною командою можна скористатися для зміни ширини таких полів:
поле типова поле типова поле типова 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 ніколи не зменшуватиме ширини. Щоб зменшити ширину, вам слід вказати менше число або відновити типові значення.
Зауваження: Цю інтерактивну команду повністю реалізовано лише при підтримці записів, які вручну додано наприкінці файла налаштувань top. Докладніше про створення цих записів можна дізнатися із розділу 6б. ДОДАВАННЯ ЗАПИСІВ ДЛЯ ІНСПЕКТУВАННЯ.
Більшість клавіш, які використовують для навігації інспектованими даними вказано у передмові. Втім, є додаткові клавіші, які стають доступними для певного файла або команди. Ці клавіші знайомі будь-кому, хто користувався програмою поділу на сторінки «less». Їхнє резюме наведено тут з довідковою метою.
клавіша призначення = альтернативний рядок стану, файла або каналу / пошук, еквівалент пошуку «L» n знайти далі, еквівалент пошуку наступного «&» <Пробіл> гортання вниз, еквівалент <PgDn> b гортання вгору, еквівалент <PgUp> g перший рядок, еквівалент <Home> G останній рядок, еквівалент <End>
^G :Показати
групи
керування
(клавіша Ctrl + `g')
^K :Показати
рядок
команди
(клавіша Ctrl + `k')
^N :Показати
середовище
(клавіша Ctrl + `n')
^P :Показати
простори
назв
(клавіша Ctrl + `p')
^U :Показати
допоміжні
групи
(клавіша Ctrl + `u')
Натискання тієї самої комбінації із «Ctrl» удруге вилучає це окреме вікно і віддає команду «=». Натискання іншої комбінації клавіш із «Ctrl», доки вікно лишається активним, негайно переводить програму у режим виведення відповідних нових даних.
Помітною серед цих команд є команда Ctrl+N (середовище). Виведені нею дані можуть бути досить об'ємними, їх не просто читати, якщо рядок розбито. Зручніший для читання варіант можна отримати за допомогою запису «Inspect» у файлі rcfile, подібного до наведеного нижче.
pipe ^I Environment ^I cat /proc/%d/environ | tr '\0' '\n'
Див. інтерактивну команду «Y» і розділ 6б. ДОДАВАННЯ ЗАПИСІВ ДЛЯ ІНСПЕКТУВАННЯ, щоб дізнатися більше.
Альтернативою «Inspect», яка доступна для усіх «Ctrl»-команд, є клавіша табуляції, якою можна скористатися для підсвічування окремих елементів у нижній частині вікна.
Якщо PID не буде введено, програма використає типове значення, яке показано у запиті щодо команди (перше показане завдання).
Додатне значення AGNI призводить до втрати пріоритетності процесів в автогрупі. Навпаки, від'ємне значення призводить до того, що ядро вважає їх пріоритетнішими. Звичайні користувачі не можуть встановлювати від'ємні значення AGNI.
Якщо ви хочете перервати процес зміни пріоритетності завдання, натисніть <Esc>.
Інтерактивні команди області резюме є завжди доступними у обох режимах — повноекранному та режимі альтернативного показу. Ці команди стосуються початкових рядків показу і визначають позицію повідомлень і запитів.
Ці команди завжди впливають лише на «поточне» вікно або групу полів. Див. розділ 5. ПОЛОЖЕННЯ АЛЬТЕРНАТИВНОГО ПОКАЗУ та інтерактивну команду «g», щоб дізнатися більше про «поточні» вікна і групи полів.
На цю частину області резюме впливає інтерактивна команда-перемикач «H», як це показано загальною міткою, яка показує завдання або потоки.
Ця команда працює як чотирипозиційний перемикач із циклічним перемиканням таких режимів:
1. докладні частки за категоріями 2. скорочені записи користувача/системи і загальний % + стовпчикова діаграма 3. скорочені записи користувача/системи і загальний % + блоковий графік 4. вимкнення показу завдань і станів процесора
При роботі у будь-якому з графічних режимів показані дані стають набагато значимішими, якщо також показано окремі процесори або вузли NUMA. Щоб дізнатися більше, ознайомтеся із описом команд «1», «2» і «3» нижче.
Ця команда працює як чотирипозиційний перемикач із циклічним перемиканням таких режимів:
1. докладні частки за типом пам'яті 2. скорочені записи % використаної/загальної доступної + стовпчикова діаграма 3. скорочені записи % використаної/загальної доступної + блокова діаграма 4. вимикання показу даних пам'яті
Коли ви бачите «%CПроц:» в області резюме, перемикач «1» перебуває у стані Увімкнено, а усі дані щодо процесора буде зібрано в одному рядку. Якщо цього рядка немає, кожен процесор буде показано окремо, як «%Прц0, %Прц1, ...», аж до вичерпання доступної висоти екрана.
У цей спосіб може бути показано дані до 8 процесорів на рядок. Втім може статися обрізання даних через досягнення максимального обсягу показаного. Таке, напевно, станеться, якщо переглядати докладні статистичні дані за допомогою команди-перемикача «t», оскільки такі дані не можна масштабувати, подібно до графічного представлення.
Якщо потрібно швидко вийти із режиму паралельного показу без переходу усім циклом, аж до 8 процесорів, просто скористайтеся командою-перемикачем «1».
Хоча, зазвичай, кожен процесор буде показано як «%Проц0, %Проц1, ...», цим перемикачем можна скористатися для ідентифікації і/або фільтрування процесорів за типом ядра, або P-ядро (швидкодія), або E-ядро (ефективність).
Коли уперше натиснути «5», кожен процесор буде показано як «%CpP» або «%CpE», відповідно до одного з двох типів ядер. Після другого натискання буде показано лише P-ядра (%CpP). Після третього натискання буде показано лише E-ядра (%CpE). Якщо натиснути команду-перемикач учетверте, показ процесорів повернеться до звичайного режиму «%Проц».
Якщо окремих категорій швидкодія і ефективність немає, цей перемикач не працюватиме.
Наприклад, після першого натискання «!» два центральних процесора буде поєднано і показано як «0-1, 2-3, ...» замість звичайного «%Прц0, %Прц1, %Прц2, %Прц3, ...». Після другого натискання команди-перемикача «!» буде поєднано чотири процесори і показано дані як «0-3, 4-7, ...». Далі, третє натискання «!» поєднає вісім процесорів, покаже «0-7, 8-15, ...» тощо.
Поєднання триватиме, аж доки програма не повернеться до показу окремих процесорів, і стосуватиметься обох перемикачів, «1» і «4» (одного або декількох стовпчиків). Скористайтеся командою «=», щоб вийти з режиму поєднання процесорів.
Зауваження: Якщо усі область резюме було вимкнено для якогось з вікон, ви зможете бачити лише рядок повідомлень. У такому режимі ви бачитимете максимум доступних рядків завдань, але (тимчасово) не побачите назви програми у повноекранному режимі або назви «поточного» вікна у режимі альтернативного показу.
Інтерактивні команди області завдань завжди доступні у повноекранному режимі.
Інтерактивні команди області завдань ніколи не доступні у режимі альтернативного показу, якщо показ завдань «поточного» вікна Вимкнено (див. розділ 5. ПОЛОЖЕННЯ АЛЬТЕРНАТИВНОГО ПОКАЗУ).
ВИГЛЯД вікно завдання
Використання цього перемикача надає важливі дані щодо стану вашої системи. Єдиною платою за це є декілька додаткових екранованих послідовностей у терміналі.
ВМІСТ вікна завдань
Перемикач буде застосовано до першого (верхнього) процес у «поточному» вікні. Після встановлення таке завдання завжди буде показано як перший (верхній) процес разом із своїми відгалуженими дочірніми процесами. Показ усіх інших процесів буде придушено.
Зауваження: можна буде користуватися клавішами «i» (бездіяльні завдання), «n» (максимальні завдання), «v» (приховати дочірні) та фільтруванням за користувачем та іншими користувачами; ці команди можуть впливати на те, що буде показано.
[u0414]ив. розділ 5д. ФІЛЬТРУВАННЯ У ВІКНІ, щоб дізнатися більше про ці та додаткові пов'язані інтерактивні команди.
Якщо Вимкнено, програми, які розгалужуються на багато окремих завдань здаватимуться менш вимогливими. Для програм, подібних до «init» або командної оболонки, це є прийнятним, але для інших програм, подібних до компіляторів, ймовірно, ні. Спробуйте поекспериментувати з двома вікнами завдань із однаковим полем упорядковування, але різними станами «S» і виберіть потрібне вам представлення.
Після того, як буде віддано цю команду, програма проінформує вас щодо нового стану цього перемикача. Якщо вам потрібно знати, чи задіяно накопичувальний режим, просто віддайте команду показу довідки і зверніть увагу на другий рядок у резюме вікна.
З цього моменту у цьому вікні завдань буде показано далі лише відповідних користувачів або взагалі не буде показано процесів. Додавання знаку оклику («!») до ідентифікатора користувача або імені наказує top показати лише процеси користувачів, які не збігаються із вказаним.
Для фільтрування даних за різними користувачами можна скористатися різними вікнами завдань. Пізніше, якщо ви захочете знову побачити дані спостереження за усіма користувачами у «поточному» вікні, знову віддайте цю команду, але просто натисніть <Enter> у відповідь на запит.
Зауваження: Натискання будь-якої клавіші, яка впливає на порядок сортування, призведе до виходу з режиму перегляду лісу у «поточному» вікні. Див. 4в. КОМАНДИ ОБЛАСТІ ЗАВДАНЬ, УПОРЯДКОВУВАННЯ, щоб дізнатися більше про ці клавіші.
Перемикач буде застосовано до першого (найвищого у списку) процесу у «поточному» вікні. Див. 5в. ГОРТАННЯ ВІКНА, щоб дізнатися більше про вертикальне гортання.
Якщо від цільового процесу не було відгалужено жодних дочірніх, ця клавіша ні на що не вплине. Також вона не працює у режимах, відмінних від режиму показу лісу.
Наприклад, якщо показано «ХХХ:СС.дд», послідовні натискання ^E змінюватимуть формат показу так: «ХХ:СС», «Години,ХХ», «Дні+Години» і, нарешті, «Тижні+Дні».
Такому масштабуванню до повного діапазону підлягають не усі поля часу.
РОЗМІР вікно завдання
Якщо цю команду застосовано до останнього показу команд у режимі альтернативного показу, вона не впливатиме на розмір вікна, оскільки усі попередні покази команд уже буде намальовано.
Якщо команду використано у режимі альтернативного показу, вона надасть вам можливість точно визначити розмір кожної із видимих панелей показу завдань, окрім останньої. Вона не впливає на розмір останнього вікна, оскільки усі попередні панелі показу завдань вже буде намальовано.
Зауваження: Якщо вам потрібно збільшити розмір останньої видимої панелі показу завдань у режимі альтернативного показу, просто зменшіть розмір панелей показу завдань над нею.
УПОРЯДКУВАННЯ вікно завдання
комаанда поле-упорядкування підтримка A момент запуску (без показу) Ні M %MEM Так N PID Так P %CPU Так T TIME+ Так
Перш ніж користуватися будь-якими із вказаних нижче варіантів упорядковування, top запропонує вам тимчасово увімкнути підсвічування стовпчиків за допомогою інтерактивної команди «x». Це допоможе вам переконатися, що справжнє середовище упорядковування відповідає вашим очікуванням.
Вказані
нижче
інтерактивні
команди
буде
враховано,
лише якщо
поточне
поле
упорядковування
є видимим.
Поле
упорядковування
може бути
невидимим
з таких
причин:
1)
недостатня
ширина
екрана
2)
інтерактивна
команда «f»
вимкнула
показ
поля
Вказані нижче інтерактивні команди буде завжди враховано, незалежно від того, чи є видимим поточне поле упорядковування.
Якщо ви віддасте інтерактивну команду «Z», програма покаже вам окремий екран. Цим екраном можна скористатися для зміни кольорів лише у «поточному» вікні або в усіх чотирьох вікнах перед поверненням до показу даних top.
Доступними є вказані нижче інтерактивні команди.
4 літери верхнього регістру для вибору цілі 8 цифри для вибору кольору доступні звичайні перемикачі B :вимикання/вмикання напіжирного b :«напівжирні»/звичайні запущені завдання z :колір/монохроматичність доступні інші команди a/w :застосувати, потім перейти до наступного/попереднього <Enter> :застосувати і вийти q :відкинути поточні зміни і вийти
Якщо ви скористаєтеся «a» або «w» для циклічного переходу вікном призначення, ви матимете застосовану схему кольорів, яку було показано, коли ви полишите це вікно. Ви можете, звичайно, без проблем повернутися до будь-якого вікна і повторно застосувати різні кольори або повністю вимкнути кольори за допомогою перемикача «z».
Крім того, екраном прив'язки кольорів можна скористатися для зміни «поточного» вікна або групи полів у повноекранному режимі або режимі альтернативного показу. Щоб не було ціллю при натисканні «q» або <Enter>, його буде зроблено поточним, коли ви повернетеся до показу даних top.
У режимі альтернативного показу ці базові 4 групи полів тепер можна зробити видимими або вимкнути окремо за вашою командою.
Область резюме існуватиме завжди, навіть якщо це просто рядок повідомлення. У будь-який конкретний момент може бути показано лише одну область резюме. Втім, залежно від ваших команд, може бути від нуля до чотирьох окремих панелей показу завдань одночасно показаних на екрані.
Усе стає складнішим, якщо ви вимкнете перший рядок області резюме. Із втратою назви вікна (рядка, перемкнутого «l»), вам не просто буде визначити, яке з вікон є «поточним».
Клавіша «_» виконує те саме завдання для усіх показів завдань. Іншими словами, ця клавіша перемикає програму між поточними видимими показами завдань і будь-якими показами завдань, які ви перевели у стан Вимкнено. Якщо поточними видимими є усі 4 покази завдань, ця інтерактивна команда лишить область резюме єдиним показаним елементом.
Клавіша «+» робить те саме для усіх вікон. Повторно з'являться усі чотири покази завдань, рівномірно розподілені за розміром, із одночасним збереженням усіх налаштувань, які було застосовано додатково до тих, які описано для команди-перемикача «=».
Коли ви перший раз віддасте цю команду, буде показано усі чотири показу завдань. Надалі, коли ви перемикатимете режими, ви бачитимете лише ті покази завдань, які ви визначили як видимі.
Якщо назву вікно показано (вами не перемкнуто «l» у стан Вимкнено), коли назва «поточного» вікна втрачає акцент/колір, назва буде нагадуванням про те, що показ завдань Вимкнено, а багато команд буде обмежено.
=, A, g доступні завжди a, w працюють так само із прив'язкою кольорів і керуванням полями
У повноекранному режимі ця команда потрібна для зміни «поточного» вікна. У режимі альтернативного перегляду це просто менш зручна альтернатива командам «a» і «w».
Типово, вікно завдань є частковим переглядом загальних даних щодо завдань/потоків системи, де буде показано лише деякі з доступних полів/стовпчиків. За допомогою цих клавіш гортання ви можете пересувати перегляд вертикально або горизонтально, щоб дістатися будь-якого бажаного завдання або стовпчика.
Зауваження: Як нагадування, деякі поля/стовпчики мають не фіксовану ширину, а займають решту ширини екрана, якщо їх показано. При гортанні праворуч або ліворуч на першому кроці ця команда може давати не ті результати, на які ви очікували.
Крім того, є певні правила для будь-якого поля змінної ширини, яке розташовано у останньому показаному полі. Щойно ви досягнете останнього поля за допомогою стрілки праворуч, і отже, стане єдиним показаним стовпчиком, ви можете продовжити гортання усередині такого поля. Щоб дізнатися більше, див. інтерактивну команду «C» нижче.
Зауваження: З цієї позиції можна гортати вниз і праворуч за допомогою клавіш зі стрілками. Це твердження лишається правильним, аж доки в області перегляду не лишиться єдиного стовпчика і єдиного завдання.
координати гортання: y = n/n (завдання), x = n/n (поля) координати гортання: y = n/n (завдання), x = n/n (поля) + nn
Координати буде показано у форматі n/n відносно верхнього лівого кута «поточного» вікна. Додаткове «+ nn» відтворюватиме зміщення у стовпчику змінної ширини при гортанні його вмісту у горизонтальному напрямку. Такі зміщення розташовуються у звичайних позиціях 8-символьної табуляції при пересуванні за допомогою клавіш зі стрілками праворуч і ліворуч.
Наведені вище інтерактивні команди доступні завжди у повноекранному режимі, але ніколи не доступні у режимі альтернативного показу, якщо показ завдань «поточного» вікна Вимкнено.
Зауваження: Якщо активним є фільтрування у будь-якій формі, можна очікувати певні помилки під час гортання, оскільки не усі завдання будуть видимими. Це, зокрема, особливо помітно при використанні клавіш зі стрілками вгору/вниз.
Ви можете скористатися цими інтерактивними командами для пошуку рядка завдання, що містить певне значення.
Пошук не обмежено значеннями з єдиного поля або стовпчика. У рядку пошуку можна використовувати усі значення, які показано у рядку завдання. До рядка пошуку можна включати пробіли, цифри, символи і навіть графічні символи перегляду лісу.
Натискання клавіші <Enter> без введених даних призведе до вимикання перемикача «&», аж доки не буде введено нового рядка для пошуку.
Якщо буде знайдено відповідник, поточне вікно буде переміщено вертикально так, щоб рядок завдання, який містить знайдений відповідник, став першим. У повідомленні координат гортання може бути показано підтвердження такого вертикального переміщення (див. інтерактивну команду «C»). Втім, горизонтальна позиція гортання під час пошуку ніколи не змінюється.
На доступність рядка-відповідника будуть впливати вказані нижче фактори.
Якщо пошуки завершаться невдачею, відновлення початкової позиції (без гортання) у «поточному» вікні, горизонтальне гортання, показ командних рядків або вибір стабільнішого поля гортання може зробити пошук «&» успішним.
Наведені вище інтерактивні команди доступні завжди у повноекранному режимі, але ніколи не доступні у режимі альтернативного показу, якщо показ завдань «поточного» вікна Вимкнено.
Ви можете скористатися цією можливістю іншого фільтра, щоб встановити критерій вибору, який визначить, які завдання буде показано у «поточному» вікні. Такі фільтри можна зробити сталими, якщо зберегти їх до файла rcfile за допомогою інтерактивної команди «W».
Встановлення фільтра мінімально потребує: 1) назви поля; 2) оператора та 3) значення вибору. Це найскладніші вимоги щодо введених користувачем даних у top. Тому, якщо ви зробили помилку, вам допоможе пам'ять команд. Пам'ятайте про клавіші зі стрілками вгору/вниз або їхні альтернативи при запитах на введення даних.
Основи фільтрування
Якщо поле не увімкнено або у поточний момент не показано, ваші критерії вибору не впливатимуть на показ. Пізніше, якщо фільтроване поле стане видимим, критерії вибору буде застосовано.
Резюме щодо клавіатури
Вимоги до вхідних даних
У відповідь на запит щодо критерії вибору вам слід вказати дані в одній з двох форм. Передбачено 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 ' ...
Цей файл створюється і оновлюється інтерактивною командою «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, не можна буде зберегти.
Щоб скористатися інтерактивною командою «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» має ідентифікувати скрипт оболонки, який ви написали для пояснення того, що саме позначають ці нумеровані варіанти вибору. У такий спосіб можна зробити видимими набагато більше варіантів вибору.
Цей файл налаштувань містить типові значення для користувачів, якими не було збережено власний файл налаштувань. Формат точно такий самий, як в особистих файлів налаштувань, а також може включати записи «inspect», які описано вище.
Процедура його створення проста.
1. Налаштуйте top відповідним чином для встановленої у вас програми і збережіть налаштування за допомогою інтерактивної команди «W».
2. Додайте і перевірте роботу будь-яких бажаних записів «inspect».
3. Скопіюйте файл налаштувань до каталогу /etc/, скориставшись для нього назвою `topdefaultrc'.
Наявність цього файла вплине на те, яку версію екрана довідки буде показано звичайному користувачу.
Що важливіше, він обмежить перелік завдань, які зможуть виконувати звичайні користувачі, коли запущено top. Користувачі не зможуть віддавати наведені нижче команди.
k припинити виконання завдання r змінити пріоритетність (nice) завдання d або s змінити інтервал затримки/присипляння
Цей файл налаштувань не буде створено top. Замість цього, його створюють вручну і зберігають у каталозі /etc/ із назвою «toprc».
У ньому має бути точно два рядки, як це показано у прикладі:
s # рядок 1: перемикач захищеного режиму 5.0 # рядок 2: інтервал затримки у секундах
Встановлене значення є несуттєвим, достатнього самого факту його встановлення.
Багато з цих трюків найкраще працюють, якщо ви підвищите пріоритетність планування top. Тому заплануйте запуск програми із значенням пріоритетності (nice) -10, якщо ви маєте відповідні права доступу.
Для цих химерних трюків потрібен повноекранний режим.
Для цього експерименту відкрийте у x-window xterm і максимізуйте вікно програми. Далі, зробіть таке:
. встановіть підвищений пріоритет і малу затримку: nice -n -10 top -d.09 . вимкніть підсвічування стовпчика упорядковування так, щоб мінімізувати довжину шляху . увімкніть зворотне підсвічування для акцентування . спробуйте різні стовпчики упорядковування (добрий варіант TIME/MEM) і звичайне або обернене упорядкування для того, щоб бачити більшість активних процесів
Ви побачите дуже зайнятий Linux, який робить те, що завжди для вас, але без програми, яка б це ілюструвала.
Після того, як стане видимою більшість активних процесів, ви побачите примарні образи лише поточних робочих завдань.
Ваш дисплей буде оновлюватися утричі швидше, ніж до цього у top, — 300% підвищення швидкості. Оскільки top здирається драбиною TIME, будьте терплячими, оскільки важко вгадати, чи зможе top наздогнати top.
Для цих химерних трюків потрібен режим альтернативного показу.
Для цього химерного трюку також потрібен режим альтернативного показу.
Коли їх
буде
переміщено,
перемкніться
між усіма
видимими/невидимими
вікнами
за
допомогою
команди-перемикача
«_». Потім
обміркуйте
це:
top видумує
результати
чи чесно
повідомляє
вам
оманливу
правду?
Цей химерний трюк найкраще працює без режиму альтернативного перегляду, оскільки вирівнювання буде активним на рівні окремого вікна.
Потім скористайтеся клавішами зі стрілками вгору/вниз для розташування показу так, щоб було показано якісь обрізані рядки команд («+» в останній позиції). Ви можете змінити розміри вашого xterm, щоб сталося обрізання.
Нарешті, скористайтеся командою-перемикачем «j», щоб встановити вирівнювання праворуч у стовпчику COMMAND.
Далі, скористайтеся клавішею зі стрілкою праворуч, щоб дістатися стовпчика COMMAND. Продовжіть натискати клавішу зі стрілкою праворуч, ретельно стежте за напрямком у якому рухаються показані рядки команд.
деякі
рядки
пересунуться
ліворуч, а
інші —
праворуч
нарешті,
усі рядки
перемкнуться
і
посунуться
праворуч
Про вади, будь ласка, повідомляйте на адресу procps@freelists.org.
free(1), ps(1), uptime(1), atop(1), slabtop(1), vmstat(8), w(1)
серпень 2023 року | procps-ng |