База знань

Усе, що вам потрібно знати про HostZealot

Як відстежувати навантаження CPU та використання пам’яті на Linux-сервері?

Моніторинг навантаження CPU та використання пам’яті допомагає виявляти процеси, які споживають надто багато ресурсів сервера, і діагностувати проблеми з продуктивністю Linux-сервера.

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

Перевірка навантаження CPU за допомогою top

Виконайте таку команду:

top

Утиліта top у реальному часі відображає інформацію про навантаження CPU, використання пам’яті, системне навантаження та запущені процеси.

У зведеній інформації про CPU зверніть особливу увагу на:

  • us — процесорний час, який використовується процесами користувача.
  • sy — процесорний час, який використовується ядром.
  • id — час простою CPU.
  • wa — час очікування операцій введення-виведення.

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

Примітка:
У багатоядерній системі багатопотоковий процес може показувати навантаження CPU понад 100 %. Наприклад, значення близько 200 % може означати, що процес використовує ресурси, еквівалентні двом логічним CPU.

Перевірка середнього системного навантаження

Щоб швидко переглянути поточне середнє системне навантаження, виконайте:

uptime

Команда відображає три значення load average приблизно за останні 1, 5 і 15 хвилин.

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

Щоб перевірити кількість доступних системі логічних CPU, виконайте:

nproc

Під час оцінювання load average порівнюйте його з кількістю логічних CPU, доступних вашому серверу. Наприклад, постійний load average близько 4 означає значно вище відносне навантаження на сервері з 4 логічними CPU, ніж таке саме значення на сервері з 16 логічними CPU.

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

Пошук процесів із найбільшим навантаженням CPU

Щоб відобразити процеси з сортуванням за використанням CPU, виконайте:

ps -eo pid,user,comm,%cpu,%mem --sort=-%cpu | head

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

Перевірка використання пам’яті

Щоб переглянути поточне використання RAM і swap, виконайте:

free -h

Команда показує загальний обсяг, використану, вільну та доступну пам’ять, а також використання swap.

Під час оцінювання доступної пам’яті звертайте особливу увагу на значення available. Linux використовує незадіяну RAM для кешу файлової системи, тому низьке значення free саме по собі не обов’язково означає нестачу оперативної пам’яті.

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

Моніторинг використання ресурсів протягом тривалого часу

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

Якщо сервер регулярно працює повільно або перестає відповідати, відстежуйте використання CPU, load average, доступну пам’ять, використання swap і процеси з найбільшим споживанням ресурсів протягом тривалішого періоду.

Поділитися
cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

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