
Почему тормозит сервер — rs slow
Скрипт замеряет CPU, steal, память и подкачку, загрузку дисков, тяжёлые процессы и контейнеры, ищет OOM и ошибки диска — и говорит, что тормозит и что делать.
Сайт открывается по 10 секунд, SSH отвечает с задержкой, а top показывает, что процессор вроде свободен. Причин много: диск, нехватка памяти, соседи по VPS, упёршийся лимит соединений.
rs slow замеряет сервер несколько секунд и выдаёт вердикт: что именно тормозит, вероятная причина и что сделать.
Что показывает
- CPU: нагрузка против числа ядер, user/system/iowait и steal — сколько процессора забирает гипервизор (перегруженный хост провайдера).
- Процессы: кто реально ест CPU за время замера и кто больше всех занимает память.
- Память: сколько доступно, активная подкачка, убийства процессов ядром (OOM) за сутки, нет ли swap.
- Диски: насколько занят каждый диск и сколько пишет/читает; заполненность файловых систем.
- Контейнеры: CPU и память каждого, перезапуски по кругу.
- Лимиты и ошибки: открытые файлы, таблица соединений conntrack, зомби-процессы, ошибки диска в журнале ядра.
Как выглядит
==> CPU
Сейчас user 9% · system 4% · iowait 38% · steal 0%
! iowait 38%: процессы ждут диск
==> Память
✗ За сутки ядро убивало процессы из-за нехватки памяти: php-fpm×3
==> Диски
vda занят 96% чтение 2 MB/s запись 61 MB/s
✗ Диск vda занят 96% времени
→ кто пишет: iotop -oPa
В конце — итог: что исправить в первую очередь и чем. Полная копия отчёта без цветов — в /tmp/rs-slow.txt, её удобно приложить к обращению.
Как запустить
- Скопируйте команду из блока «Скачать» — он появится после входа. В команде ваш личный токен, он действует 12 часов.
- Выполните её на сервере. Скрипт скачается, проверит контрольную сумму и сразу запустится.
- Дальше — просто
sudo rs slow. Командаrsостаётся на сервере вместе с остальными скриптами:rs info,rs slow,rs security,rs clean. Подсказка —rs help.
rs slow замер 5 секунд
rs slow --seconds 15 замер дольше — для плавающих проблем
rs slow --help что значит каждая проверка
Безопасно ли это
Скрипт только читает: ничего не устанавливает, не меняет настройки и не перезапускает сервисы. Команды для исправлений он показывает — выполнять их или нет, решаете вы. Исходный код открыт для чтения в /opt/runstack/automations/tools/slow/tool.sh. Удалить сам RunStack: sudo rs remove.
Требования
- Linux с bash и curl, права root (
sudo). Проверяем на Ubuntu 22.04 / 24.04 и Debian 12+, на других дистрибутивах тоже работает — пропуская то, чего там нет. - Docker не обязателен: без него раздел про контейнеры просто пропускается.
Вопросы
Сколько стоит? Сейчас бесплатно.
Когда запускать? Именно в момент, когда тормозит: скрипт меряет текущее состояние. OOM и ошибки диска он смотрит за последние сутки.
Что такое steal? Доля времени, когда виртуалке нужен процессор, а гипервизор отдаёт его другим. Высокий steal не лечится внутри сервера — только у провайдера или переездом на тариф с выделенными ядрами.
Что значит каждая проверка и как исправить находки — в вики.
Материалы доступны после входа и подтверждения email.
