Поиск нагрузки на сервере VPS/VDS
Если вы обнаружили, что сайт внезапно начал тормозить, то возможно причиной тому является нагрузка на сервере. Нагрузка может быть связана как с несоответствием потребляемых ресурсов выбранному тарифу, так и с атакой на сайт. Рассмотрим основные способы диагностики.
Главным инструментом в этом деле является команда:
topПрограмма top показывает состояние системы в реальном времени. Для запуска подключитесь к серверу по SSH, выполните команду:
topи нажмите Enter.

В верхней части отображается информация о загрузке системы:

В нижней части — список запущенных процессов:

Load Average
Load Average — это среднее значение загрузки системы за период времени. Три числа показывают нагрузку за последние 1, 5 и 15 минут.

Значение 0 означает отсутствие нагрузки, значение 1 — полную загрузку одного ядра. Для оценки необходимо учитывать количество ядер процессора.
Параметры CPU
Строка CPU показывает распределение нагрузки:
- us — нагрузка пользовательских процессов
- sy — нагрузка системных процессов
- ni — процессы с измененным приоритетом
- id — простой процессора
- wa — ожидание ввода/вывода
- hi — аппаратные прерывания
- si — программные прерывания
- st — время, отданное гипервизору

Анализ нагрузки
Нагрузка CPU (sy, us, ni)
Высокие значения этих параметров говорят о высокой загрузке процессора. В этом случае следует посмотреть процессы по столбцу %CPU и при необходимости оптимизировать их или увеличить ресурсы сервера.
Нагрузка ввода-вывода (wa)
Высокие значения wa и Load Average могут свидетельствовать о проблемах с дисковой системой или сетью.
Состояния процессов
Основные состояния процессов в Linux:
- D — ожидание ввода/вывода
- R — активный процесс
- S — ожидание события
- T — приостановленный процесс
- Z — завершенный процесс (зомби)

Для просмотра процессов используйте команду:
ps auxДля поиска процессов в состоянии D выполните:
ps aux | grep D