Будь-сервер, яким би потужним він не був, має обмежений обсяг ресурсів. Кожна програма, що працює в активному або фоновому режимі, використовує певну кількість віртуальної і фізичної пам'яті, процесорного часу і т.д. Іншими словами, створює певне навантаження на сервер. Щоб подивитися, наскільки система завантажена в даний момент часу, використовують консольну команду top.
Команда top в Linux системах дозволяє вивести у вигляді таблиці перелік запущених процесів і оцінити, який обсяг ресурсів вони споживають, тобто яке навантаження створюють на сервер і дискову підсистему. Така інформація допомагає в подальшому оптимізувати роботу системи.
Запуск команди top і розшифровка таблиці
Встановити з'єднання із сервером по SSH і введіть в консолі top - Enter і ви побачите таблицю, в якій виведений список запущених процесів. Спочатку перелік складено в порядку убування навантаження, що припадає на процесор.
Про те, як сортувати дані за критерієм, який потрібен вам, поговоримо далі. А зараз давайте розглянемо, як розшифрувати стовпці в таблиці і про що свідчать значення в кожному з них.
Перші два стовпчики - номер процесу (PID) і ім'я користувача, його запустив (USER).
Наступні 2 стовпці показують, який пріоритет має процес в даний момент (PR) і пріоритет, присвоєний йому командою NICE (NI).
Інформація, що міститься в інших колонках, характеризує безпосередньо рівень споживання ресурсів. Розшифровуються вони в такий спосіб:
** VIRT - віртуальна пам'ять, яку використовує процес
** RES - фізична пам'ять, зайнята даним процесом
** SHR - загальний обсяг пам'яті, яку даний процес ділить з іншими
** S - поточний статус процесу: R - running; S - sleeping, Z - zombie
**% CPU - відсоток використовуваного часу центрального процесора
**% MEM - відсоток ОЗУ, яку використовує процес
** TIME + - тривалість роботи процесу з моменту запуску
** COMMAND - назва команди (програми), яка ініціювала процес.
Розшифровка даних перед таблицею
Корисна інформація про використання ресурсів міститься не тільки в самій таблиці, але і в п'яти рядках, які їй передують. Вони є свого роду summary по всім процесам.
Перший рядок (top) дає нам загальне уявлення про завантаження системи. Тут вказано:
** поточний час
** up - тривалість роботи системи з моменту запуску
** user - поточну кількість користувачів системи
** load average - середня завантаженість системи одну хвилину назад, п'ять і 15 відповідно.
Вважається, що в нормі цей показник не повинен перевищувати 1 для одноядерних процесорів. Відповідно, значення load average, дорівнює кількості ядер, є граничним.
Другий рядок даних дає інформацію про загальну кількість процесів в системі, а також про їх статус: виконувані (running), в очікуванні (sleeping), які були припинені (stopped), zombie.
Далі йде інформація про стан процесора (% Cpu), ОЗУ (Mem), SWAP.
Додавання стовпців і сортування таблиці top
Тепер ви знаєте, яка інформація зашифрована в кожному стовпчику таблиці top. Як було відзначено на початку, базова сортування даних здійснюється за рівнем використання часу ЦПУ, воно ж% CPU. Щоб виконати в top сортування по пам'яті (% MEM), досить ввести Shift + M в режимі роботи команди top. Якщо цікавить, який із процесів найдовше працює, натисніть Shift + T, і побачите, що цікавить в колонці TIME +. Можна впорядкувати процеси по їх номеру (PID), набравши на клавіатурі Shift + N.
Щоб повернутися до режиму сортування за рівнем споживання ресурсів процесора, скористайтеся комбінацією Shift + P.
Далеко не всі способи сортування можна задати за допомогою «гарячих клавіш». Наприклад, для визначення процесів, які найбільше споживають SWAP, використовуйте меню вибору полів, яке викликається комбінацією Shift + F.
За допомогою клавіш навігації знаходимо SWAP (або будь-який інший потрібний параметр), клавішею «d» закріплюємо його додавання в загальну таблицю команди top (як підтвердження вашого вибору поруч з'явиться символ «*»). Щоб задати сортування по SWAP, тут же натискаємо «s» і виходимо з меню (ESC). Готово!
Переконатися, що сортування працює по заданому ознакою, можна натиснувши «x». Колонка з характерною ознакою буде підсвічена (виділена жирним шрифтом).
Тепер ви не тільки знаєте, як розшифрувати міститься в таблиці інформацію, а й вмієте додавати в неї необхідні параметри, працювати з фільтрами. Завдяки команді top ви легко знайдете процеси, які споживають найбільшу кількість ресурсів і / або працюють без потреби.
Тепер оптимізувати роботу сервера набагато простіше!
Оцініть, будь ласка, цю статтю: