*Cube-Host– облачный хостинг!!

Мониторинг нагрузки на VPS под управлением Linux

Linux VPS load monitoring

Когда VPS начинает работать медленно, истинной причиной почти всегда является одно из четырёх узких мест: процессор, оперативная память, дисковый ввод-вывод или сеть. В этом руководстве представлен четкий алгоритм действий, позволяющий быстро выявить узкое место с помощью htop, iostat, а также atop (плюс несколько быстрых команд для «проверки работоспособности»).

Для рабочих нагрузок в производственной среде стабильный мониторинг начинается с предсказуемых ресурсов. Выберите надежный VPS на Linux с достаточным объемом ЦП/ОЗУ и быстрым хранилищем, чтобы ваши сервисы и средства диагностики оставались отзывчивыми под нагрузкой.

Что вам понадобится

  • Доступ по SSH к вашему VPS (пользователь root или с правами sudo)
  • Linux на базе Debian/Ubuntu или RHEL (AlmaLinux/Rocky/CentOS) — команды включены для обеих
  • 5–10 минут во время инцидента (или в пик нагрузки) для сбора реальных метрик

Подключитесь к VPS под управлением Linux через SSH

Откройте терминал (macOS/Linux) или SSH-клиент (Windows Terminal / PuTTY) и подключитесь к серверу. Замените username и SERVER_IP своими значениями.

ssh username@SERVER_IP

Если вы используете пользовательский порт SSH (например: 2222):

ssh -p 2222 username@SERVER_IP

Все приведенные ниже команды выполняются в рамках этого SSH-сеанса.

Краткий обзор системы (30 секунд)

Перед тем как открывать полноэкранные инструменты, выполните несколько быстрых команд. Они помогут понять, связана ли проблема с нагрузкой на процессор, нехваткой памяти, переполнением диска или чем-то очевидным, например переполненной файловой системой.

uptime
free -h
df -h
ps aux --sort=-%cpu | head -n 10
ps aux --sort=-%mem | head -n 10

Как быстро интерпретировать:

  • uptime: проверьте среднюю нагрузку (за 1/5/15 минут). Если нагрузка постоянно значительно превышает количество виртуальных процессоров, система перегружена.
  • free -h: если оперативной памяти не хватает и активно используется своп, задержки и «зависания» являются обычным явлением.
  • df -h: если файловая система заполнена на 100%, многие службы начинают работать некорректно (базы данных, журналы, загрузка файлов).

Установка и использование htop (CPU и память)

1) Установите htop

Debian/Ubuntu:

sudo apt update && sudo apt install -y htop

CentOS / RHEL / AlmaLinux / Rocky (для некоторых систем может потребоваться сначала установить EPEL):

sudo dnf install -y htop || sudo yum install -y htop

2) Запустите htop

htop
htop interface on Linux VPS

3) Как читать интерфейс htop

  1. Полоски CPU (вверху): каждая полоска — это ядро vCPU. Если одно или несколько ядер постоянно находятся на 100%, вероятно, что CPU является узким местом.
  2. Память / Своп: высокое использование ОЗУ является нормальным для Linux (кэш), но активное использование свопа во время нагрузки обычно означает задержку.
  3. Средняя нагрузка: среднее количество выполняемых задач за определенный период времени. Приблизительное правило: если нагрузка постоянно значительно превышает количество виртуальных ядер процессора, у вас наблюдается конкуренция за ресурсы процессора или ожидание ввода-вывода.
  4. Таблица процессов: отсортировать по %CPU или %MEM , чтобы определить основных потребителей ресурсов.

4) Что делать в htop

  • Нажмите F6 и отсортируйте по %CPU , чтобы найти процессы, сильно нагружающие процессор.
  • Отсортируйте по %MEM , чтобы найти процессы, потребляющие память.
  • Если загрузка процессора низкая, но общая загрузка высокая, возможно, вы застряли в ожидании ввода-вывода — проверьте диск с помощью iostat.
  • Выход: F10 или q.

Проверка диска и ввода-вывода с помощью iostat

Если показатели ЦП и памяти в норме, но сервер по-прежнему работает медленно, то очень распространенным скрытым узким местом является дисковый ввод-вывод (записи в базу данных, журналы, резервные копии, перегруженное хранилище).

1) Установите iostat (sysstat)

Debian/Ubuntu:

sudo apt update && sudo apt install -y sysstat

CentOS / RHEL / AlmaLinux / Rocky:

sudo dnf install -y sysstat || sudo yum install -y sysstat

2) Запустите iostat

iostat -x 5 3

Параметры:

  • -x — расширенная статистика
  • 5 — интервал (секунды)
  • 3 — количество отчетов
iostat output example on Linux VPS

3) Какие поля наиболее важны

  • await: среднее время ожидания запросов ввода-вывода. Большие значения (десятки/сотни миллисекунд) во время нагрузки часто означают перегрузку хранилища.
  • %util: процент времени занятости диска. Если он остается в пределах 80–100%, диск является узким местом.
  • r/s, w/s, rkB/s, wkB/s: количество операций и пропускная способность, которую вы обеспечиваете.

Совет от профессионала: если вы подозреваете, что «один процесс перегружает диск», добавьте iotop в свой набор инструментов:

sudo apt install -y iotop || sudo dnf install -y iotop
sudo iotop -oPa

Analyze Everything Together с atop

atop отлично подходит, когда вам нужна полная картина в одном интерфейсе: ЦП, ОЗУ, диск и сеть, плюс использование ресурсов по процессам.

1) Установите atop

Debian/Ubuntu:

sudo apt update && sudo apt install -y atop

CentOS / RHEL / AlmaLinux / Rocky (часто через EPEL):

sudo dnf install -y atop || sudo yum install -y atop

2) Запустите atop

sudo atop
atop interface example on Linux VPS

3) На что обратить внимание в atop

  • CPU и PRC: устойчивая высокая нагрузка, запущенные процессы, переключение контекста.
  • mem и swp: нагрузка на память, подкачка, поведение кэша.
  • dsk: общая активность диска; если она высокая, проверьте с помощью iostat.
  • net: пропускную способность сети и, при необходимости, активность по процессам.

Выйдите из atop с помощью q.

Проверка сети (когда CPU/RAM/диск выглядят нормально)

Иногда «медленная работа» связана не с нагрузкой, а с перегрузкой сети, слишком большим количеством соединений или сервисом, застрявшим из-за таймаутов. Эти команды помогут проверить состояние сети.

ss -s
ss -tulpn | head
ip -s link
ping -c 5 1.1.1.1

Если вам нужен просмотр пропускной способности в реальном времени:

sudo apt install -y nload || sudo dnf install -y nload
nload

Совет: Очень распространенной «скрытой» проблемой является внезапный всплеск подключений (боты, скрапинг, брутфорс). Если вы видите аномальное количество подключений, рассмотрите возможность ограничения скорости и усиления безопасности.

Давайте объединим все это в один диагностический скрипт

Чтобы сделать мониторинг нагрузки на VPS под Linux воспроизводимым, сохраните простой скрипт, который собирает ключевые показатели (CPU/память, топ-процессы, снимок дискового ввода-вывода, использование файловой системы и сводку подключений).

sudo nano /usr/local/sbin/vps-healthcheck.sh

Вставьте скрипт ниже:

#!/usr/bin/env bash
set -euo pipefail

echo "=== TIME ==="
date
echo

echo "=== UPTIME / LOAD ==="
uptime
echo

echo "=== CPU / TOP PROCESSES ==="
ps aux --sort=-%cpu | head -n 10
echo

echo "=== MEMORY ==="
free -h
echo

echo "=== TOP MEMORY PROCESSES ==="
ps aux --sort=-%mem | head -n 10
echo

echo "=== DISK USAGE ==="
df -h
echo

echo "=== DISK I/O (iostat snapshot) ==="
if command -v iostat >/dev/null 2>&1; then
  iostat -x 1 2
else
  echo "iostat not installed (install sysstat)."
fi
echo

echo "=== CONNECTION SUMMARY ==="
ss -s || true
echo

echo "=== LISTENING PORTS (top) ==="
ss -tulpn 2>/dev/null | head -n 20 || true
echo

Сделайте его исполняемым и запустите:

sudo chmod  x /usr/local/sbin/vps-healthcheck.sh
sudo /usr/local/sbin/vps-healthcheck.sh

Когда имеет смысл обновить тарифный план VPS

Если мониторинг показывает, что ЦП, ОЗУ или дисковый ввод-вывод большую часть времени находятся на пределе, часто надежнее масштабировать ресурсы, чем постоянно бороться с симптомами. Более мощный VPS на Linux с более быстрым хранилищем и большим запасом мощности может устранить узкие места, сократить задержки и обеспечить стабильность ваших сервисов во время пикового трафика.

Заключение

Мониторинг нагрузки на VPS под Linux становится простым, если следовать последовательному алгоритму: htop для ЦП/ОЗУ, iostat для дискового ввода-вывода и atop для полного обзора. Соберите метрики при реальной нагрузке, определите узкое место, а затем решите, следует ли оптимизировать приложение/базу данных или обновить ресурсы VPS.

Prev
Menu