
Когда VPS начинает работать медленно, истинной причиной почти всегда является одно из четырёх узких мест: процессор, оперативная память, дисковый ввод-вывод или сеть. В этом руководстве представлен четкий алгоритм действий, позволяющий быстро выявить узкое место с помощью htop, iostat, а также atop (плюс несколько быстрых команд для «проверки работоспособности»).
Для рабочих нагрузок в производственной среде стабильный мониторинг начинается с предсказуемых ресурсов. Выберите надежный VPS на Linux с достаточным объемом ЦП/ОЗУ и быстрым хранилищем, чтобы ваши сервисы и средства диагностики оставались отзывчивыми под нагрузкой.
Откройте терминал (macOS/Linux) или SSH-клиент (Windows Terminal / PuTTY) и подключитесь к серверу. Замените username и SERVER_IP своими значениями.
ssh username@SERVER_IP
Если вы используете пользовательский порт SSH (например: 2222):
ssh -p 2222 username@SERVER_IP
Все приведенные ниже команды выполняются в рамках этого SSH-сеанса.
Перед тем как открывать полноэкранные инструменты, выполните несколько быстрых команд. Они помогут понять, связана ли проблема с нагрузкой на процессор, нехваткой памяти, переполнением диска или чем-то очевидным, например переполненной файловой системой.
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%, многие службы начинают работать некорректно (базы данных, журналы, загрузка файлов).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
htop

%CPU или %MEM , чтобы определить основных потребителей ресурсов.%CPU , чтобы найти процессы, сильно нагружающие процессор.%MEM , чтобы найти процессы, потребляющие память.iostat.q.Если показатели ЦП и памяти в норме, но сервер по-прежнему работает медленно, то очень распространенным скрытым узким местом является дисковый ввод-вывод (записи в базу данных, журналы, резервные копии, перегруженное хранилище).
Debian/Ubuntu:
sudo apt update && sudo apt install -y sysstat
CentOS / RHEL / AlmaLinux / Rocky:
sudo dnf install -y sysstat || sudo yum install -y sysstat
iostat -x 5 3
Параметры:
-x — расширенная статистика5 — интервал (секунды)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
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
sudo atop

iostat.Выйдите из atop с помощью q.
Иногда «медленная работа» связана не с нагрузкой, а с перегрузкой сети, слишком большим количеством соединений или сервисом, застрявшим из-за таймаутов. Эти команды помогут проверить состояние сети.
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 на Linux с более быстрым хранилищем и большим запасом мощности может устранить узкие места, сократить задержки и обеспечить стабильность ваших сервисов во время пикового трафика.
Мониторинг нагрузки на VPS под Linux становится простым, если следовать последовательному алгоритму: htop для ЦП/ОЗУ, iostat для дискового ввода-вывода и atop для полного обзора. Соберите метрики при реальной нагрузке, определите узкое место, а затем решите, следует ли оптимизировать приложение/базу данных или обновить ресурсы VPS.