Команда top в операційних системах Linux, що базуються на ядрі Unix, є потужним інструментом для моніторингу. Вона надає детальну інформацію про процеси, що виконуються в системі, та використання ресурсів. Проте, чи знали ви, що top також підтримує кольори, підсвічування та навіть прості графіки для візуалізації даних?
Інформаційна панель top: ваш центр моніторингу
Команда top, історія якої сягає 1984 року, існує у багатьох варіантах. У цій статті ми розглянемо версію 3.3.12, використовуючи Ubuntu 18.04 з останніми оновленнями. Ми також протестували її на Fedora та Manjaro для забезпечення сумісності.
Стандартний вигляд top відображає велику кількість даних у вікні термінала. Ця інформація є критично важливою для системного адміністрування. Ключова навичка адміністратора – це здатність швидко виявляти та вирішувати проблеми до того, як вони вплинуть на стабільність системи. top надає всебічну інформаційну панель з різноманітними системними метриками, що допомагають у цьому.
Хоча інтерфейс top може здаватися не дуже інтуїтивним на перший погляд, він є надзвичайно функціональним. Користувач, який вперше використовує top, може відчувати його складним, але за допомогою кількох клавішних комбінацій можна налаштувати його відображення під власні потреби.
Перевірка версії top
Щоб дізнатися версію top, введіть в терміналі:
top -v
Якщо ваша версія значно старіша за 3.3.12, можливо, деякі описані нижче функції не будуть доступні.
Стандартний вигляд top
Запустіть top, ввівши команду в терміналі:
top
Інтерфейс top поділений на дві основні частини: зведену область (або інформаційну панель) і область завдань (список процесів). За замовчуванням top оновлює дані кожні три секунди, що можна помітити по легкому мерехтінню.
Перший рядок зведеної області містить поточний час, час безперебійної роботи системи, кількість користувачів, що ввійшли в систему, і середнє навантаження за останні 1, 5 та 15 хвилин. Другий рядок показує загальну кількість завдань та їхній стан: активні, зупинені, сплячі або процеси-зомбі.
У третьому рядку представлена інформація про використання процесора:
- us: час, витрачений ЦП на виконання процесів користувача.
- sy: час, витрачений ЦП на виконання системних процесів.
- ni: час, витрачений ЦП на виконання процесів із вручну встановленим пріоритетом.
- id: час простою ЦП.
- wa: час, який ЦП очікує на завершення операцій введення-виведення.
- hi: час, витрачений на обслуговування апаратних переривань.
- si: час, витрачений на обслуговування програмних переривань.
- st: час, який ЦП “вкрадений” віртуальними машинами.
Четвертий рядок відображає загальний обсяг (в кібібайтах) фізичної пам’яті, а також обсяг вільної, використовуваної, буферизованої та кешованої пам’яті.
П’ятий рядок показує загальний обсяг (також у кібібайтах) swap-пам’яті, кількість вільної, використовуваної та доступної (включаючи пам’ять, яку можна звільнити з кешу).
Заголовки стовпців у списку процесів означають:
- PID: ідентифікатор процесу.
- КОРИСТУВАЧ: власник процесу.
- PR: пріоритет процесу.
- NI: значення “nice” процесу (впливає на пріоритет).
- VIRT: обсяг віртуальної пам’яті, що використовується процесом.
- RES: обсяг постійної пам’яті, що використовується процесом.
- SHR: обсяг спільної пам’яті, що використовується процесом.
- S: стан процесу (деталі нижче).
- %CPU: частка часу ЦП, використаного процесом з моменту останнього оновлення.
- %MEM: частка фізичної пам’яті, що використовується процесом.
- TIME+: загальний час процесора, використаний процесом у сотих частках секунди.
- COMMAND: назва команди або повний командний рядок.
Обсяги пам’яті вимірюються в кібібайтах. Стовпець COMMAND зазвичай виходить за межі екрану, але ми покажемо, як його переглянути.
Можливі стани процесу:
- D: безперервний сон
- R: виконання
- S: сон
- T: відстежується (зупинений)
- Z: зомбі
Натисніть Q для виходу з top.
Навігація дисплеєм
Для переміщення по списку процесів використовуйте клавіші зі стрілками вгору/вниз, Home, End, Page Up та Page Down.
Стрілки вліво/вправо дозволяють прокручувати список процесів горизонтально для перегляду стовпців, що не поміщаються на екрані.
На зображенні нижче видно, як прокрутка праворуч показує стовпець COMMAND:
Зміна одиниць вимірювання
Для зручнішого перегляду можна змінити одиниці вимірювання. Натисніть Shift+E (велике E) для вибору одиниць пам’яті в інформаційній панелі: кібібайти, мебібайти, гібібайти, тебібайти, пебібайти та ексбібайти.
Натисніть мале ‘e’ для вибору одиниць пам’яті в списку процесів: кібібайти, мебібайти, гібібайти, тебібайти та пебібайти.
На наступному зображенні одиниці пам’яті панелі встановлено в гібібайти, а для списку процесів – мебібайти:
Налаштування інформаційної панелі
Ви можете змінювати відображення рядків панелі або видаляти їх.
Натисніть ‘l’ (мале L) для увімкнення/вимкнення рядка з навантаженням (перший рядок). На зображенні нижче цей рядок видалено:
Якщо у вас багатоядерний процесор, натисніть 1, щоб переглянути статистику кожного ядра окремо. На нашому комп’ютері чотири ядра, тому натискання ‘1’ показує завантаження кожного з них:
Звісно, це займає більше місця на екрані.
Натисніть ‘t’, щоб перетворити показники ЦП в прості ASCII-графіки, що показують використання кожного ядра.
Для кожного ядра відображається три числа та графік. Зліва направо значення такі:
- Сукупний відсоток us та ni (простір користувача + завдання з нестандартним пріоритетом).
- Відсоток sy (простір ядра).
- Загальний відсоток (округлений до цілого).
Натисніть ‘t’ ще раз, щоб змінити вигляд графіка на символи-блоки:
Ще раз ‘t’ повністю вимкне відображення ЦП та рядка завдань.
Натисніть ‘m’, щоб змінити вигляд рядків пам’яті. Перше натискання замінить статистику на ASCII-графік.
Наступне натискання відобразить графік символами-блоками.
Ще одне натискання ‘m’ повністю видалить рядки з інформацією про пам’ять.
За бажанням можна одночасно відображати графіки процесора і пам’яті, комбінуючи натискання ‘t’ та ‘m’.
Колір та підсвічування
Натисніть ‘z’, щоб увімкнути кольорове відображення.
Можливо, кольорове відображення та графіки ASCII не перше, про що думаєш, коли згадуєш top, але вони є вбудованою функціональністю.
Натисніть ‘y’ для підсвічування активних завдань у списку процесів. ‘x’ підсвічує стовпець, за яким сортується список. ‘b’ перемикає між жирним та інверсним підсвічуванням.
Сортування за стовпцями
За замовчуванням список процесів відсортований за стовпцем %CPU. Змінити стовпець сортування можна, натиснувши:
- P: стовпець %CPU.
- M: стовпець %MEM.
- N: стовпець PID.
- T: стовпець TIME+.
На зображенні нижче процеси відсортовані за PID.
Перегляд повного командного рядка
Натискання ‘c’ перемикає стовпець COMMAND між показом лише імені процесу та повного командного рядка.
Натисніть V для перегляду деревоподібної структури процесів, запущених один від одного.
Перегляд процесів одного користувача
Натисніть ‘u’, щоб побачити процеси конкретного користувача. Вам буде запропоновано ввести ім’я або UID.
Введіть ім’я або UID потрібного користувача (наприклад, ‘dave’). Тепер у списку процесів відображаються тільки процеси цього користувача.
Перегляд тільки активних завдань
Натисніть ‘I’, щоб відображати лише активні завдання.
Процеси, які не використовували процесор після останнього оновлення, не відображатимуться.
Обмеження кількості процесів
Натисніть ‘n’, щоб обмежити кількість відображуваних рядків, незалежно від активності завдань. Вам буде запропоновано ввести бажану кількість.
Наприклад, якщо ввести ’10’, то в області завдань відображатиметься лише 10 процесів.
Зміна пріоритету процесу (renice)
Натисніть ‘r’, щоб змінити пріоритет процесу (“nice”). Вас попросять ввести PID. Можна натиснути Enter, щоб використовувати PID першого процесу в списку. Введемо 7800, PID екземпляра Firefox.
Після натискання Enter з’явиться запит на введення нового значення “nice”. Введемо ’15’ і натиснемо Enter.
Нове значення “nice” застосовується до процесу одразу.
Завершення процесу (kill)
Натисніть ‘k’, щоб завершити процес. Вас запитають, який PID треба знищити. Фактично, можна надіслати процесу будь-який сигнал. Ми зупинимо процес 7879, який перестав відповідати.
Введіть сигнал, який треба надіслати (за назвою чи номером). Якщо просто натиснути Enter, top надішле сигнал SIGTERM (завершення).
Процесу буде надіслано сигнал.
Налаштування відображення
Можна налаштувати кольори та стовпці. Змінимо колір підказок, який за замовчуванням червоний.
Натисніть Shift+Z (велике Z) для переходу до сторінки налаштувань кольорів. Зверху показано кольори, що використовуються різними елементами. Виберіть елемент для зміни, натиснувши:
- S: область зведених даних.
- M: повідомлення та підказки.
- H: заголовки стовпців.
- T: дані завдань у списку процесів.
Натиснемо M для зміни кольору підказок.
Виберіть колір, натиснувши одну з цифр:
- 0: Чорний.
- 1: Червоний.
- 2: Зелений.
- 3: Жовтий.
- 4: Синій.
- 5: Фіолетовий.
- 6: Блакитний.
- 7: Білий.
Натиснемо 6, щоб встановити блакитний колір.
Натисніть Enter для збереження налаштувань. Тепер підказки будуть блакитними.
Змінити відображувані стовпці можна на екрані керування полями. Натисніть F для входу на цей екран.
Стовпці, що відображаються, позначені зірочкою * та виділені жирним шрифтом. Переміщуйте виділення по списку стовпців стрілками вгору/вниз.
Якщо виділення опускається за низ стовпця, воно переходить в початок наступного. Зверху стовпця переміщається в кінець попереднього.
Перемістимо виділення на COMMAND та натиснемо ‘d’ для видалення зірочки*.
Потім перемістимо виділення на UID та натиснемо ‘d’, щоб поставити зірочку. Це означає, що стовпець COMMAND не відображатиметься, а UID відображатиметься.
Залишаючись на UID, натиснемо ‘s’, щоб відсортувати список процесів за UID.
Натисніть Enter для збереження налаштувань і ‘q’ для виходу з екрану налаштування полів.
Стовпець UID замінив стовпець COMMAND, і список відсортований за UID.
Альтернативний режим відображення
Цей режим найкраще працює на повноекранному режимі. Натисніть ‘A’, щоб показати чотири області у списку процесів, а потім ‘a’ для переходу між ними.
Кожна область має свій набір стовпців, які можна налаштувати на екрані керування полями. Це дозволяє мати повноекранний дисплей з різною інформацією в кожній області та сортувати їх за різними стовпцями.
Інші клавіші
Корисні клавіші:
- W: Зберегти налаштування для подальших запусків top.
- d: Встановити нову частоту оновлення.
- Пробіл: Оновити дисплей одразу.
Як бачимо, top є дуже потужним інструментом. Інші програми, такі як htop, створені на його основі, але top є базовим інструментом, присутнім у кожній системі.
Навіть якщо ви віддаєте перевагу іншим інструментам моніторингу, ознайомлення з top є необхідним. Рано чи пізно ви можете опинитися в ситуації, коли top – єдиний доступний варіант.