Як стежити за продуктивністю сервера за допомогою top
Що таке top
top показує навантаження, використання CPU, пам’яті та окремих процесів у реальному часі, і з того самого екрана може надіслати процесу сигнал. Синтаксис команди top наведено нижче для довідки.
usage: top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
#1 Перший рядок
У першому рядку виводу доступні чотири поля: поточний системний час, час роботи системи, кількість користувачів, що увійшли, і середнє навантаження сервера (load average).
#2 Другий рядок
Цей рядок дає уявлення про процеси на сервері: загальну кількість процесів і кількість процесів за станами, а саме Running, Sleeping, Stopped і Zombie.
Running: процеси, що виконуються або готові до виконання, тобто чекають, поки CPU їх обробить.
Sleeping: перерваний сон, процеси, що чекають на завершення події, наприклад вводу чи виводу від іншого процесу.
Stopped: процес, який було призупинено або зупинено.
Zombie: процеси, які вже завершилися, але все ще мають запис у таблиці процесів батьківського процесу. Таке трапляється, коли батьківський процес завершується до очищення таблиці процесів, і дочірній процес залишається сиротою.
#3 Третій рядок
Цей рядок містить інформацію про використання CPU в системі: відсоток завантаження CPU процесами користувача (us), системними процесами (sy), процесами зі значенням nice (ni), простоєм (id), очікуванням вводу/виводу (wa), апаратними перериваннями (hi), програмними перериваннями (si), украденим часом (st).
#4 Четвертий і п’ятий рядки
Четвертий і п’ятий рядки описують пам’ять: RAM і SWAP відповідно. Для RAM: усього призначено, використано, вільно та використано під буфери; для SWAP: усього, використано, вільно та кешовано.
#5 Шостий рядок
Наступний блок інформації докладніше описує запущені процеси та їхні окремі параметри: PID, власник (USER), пріоритет виконання (PR), значення nice (NI), віртуальна (VIRT), резидентна (RES) і спільна (SHR) пам’ять процесу, стан процесу (s), використання CPU процесом, використання RAM процесом (MEM), час роботи процесу (TIME) і повний командний рядок процесу (COMMAND).
Поради щодо команди top
Розглянемо кілька прапорців команди top, які допоможуть працювати з виводом ефективніше.
#1 Параметри сортування
Комбінаціями клавіш Shift+o або Shift+f можна відкрити параметри сортування команди top.
Натисніть клавішу, що відповідає критерію, за яким потрібно відсортувати вивід top, і натисніть Enter.
#2 Зменшення частоти оновлення (-d)
top за замовчуванням виводить дані кожні 3 секунди, однак така частота на системі з високим навантаженням CPU може ще більше підвищити навантаження. І навпаки, якщо ви стежите за процесом, який існує дуже короткий час, інтервал у 3 секунди буде завеликим, і процес може не з’явитися у виводі top. Прапорець -d задає частоту оновлення виводу, наприклад:
top -d1, оновлення результатів щосекунди
top -d5, оновлення результатів кожні п’ять секунд, і так далі.
На запущеному екрані top можна натиснути клавішу d, щоб змінити затримку.
#3 Виділення кольором запущених процесів
Клавіша z на відкритому екрані top виділяє запущені процеси, щоб їх було легко впізнати.
#4 Перелік процесів конкретного користувача (-u)
Запустіть top із прапорцем -u, щоб отримати перелік лише для цього користувача.
Top -u <username>
На запущеному екрані top можна натиснути клавішу u, щоб отримати перелік для конкретного користувача.
#5 Завершення конкретних PID (k)
На запущеному екрані top можна натиснути клавішу k: top запитає ідентифікатор процесу, який потрібно завершити, а потім сигнал для завершення. За замовчуванням це 15 SIGTERM; можна використати 9 SIGKILL.
Shared FAQ page chrome (breadcrumb, dates, read time, «Читати далі», enquiry block, category labels): see INDEX-AND-CHROME.md. Translate once.
З FAQ EuroVPS.
Більше в категорії «Інструкції»Ваш наступний партнер з інфраструктури
Залишилося
запитання?
Розкажіть, що ви намагаєтеся зробити. Інженер прочитає і відповість.
+357 222 32280
Почнімо з вашої інфраструктури.
Трохи контексту допомагає нам почати правильну розмову.
