Николаев Виталий
Блог веб-разработчика: Битрикс, PHP, Python, Linux и SEO
Linux-server Linux-server
01.07.2026

20 Linux-команд для диагностики проблем на сервере

Когда сайт начинает тормозить, перестает отвечать почта или сервер внезапно уходит в высокую нагрузку, первое желание — перезагрузить VPS. Но гораздо полезнее сначала понять причину проблемы.

В Linux есть множество встроенных инструментов, которые позволяют быстро определить источник нагрузки и найти неисправность. В этой статье собраны команды, которыми я чаще всего пользуюсь при диагностике серверов и веб-проектов.

1. uptime — общая информация о нагрузке

uptime

Показывает время работы сервера и показатель Load Average за последние 1, 5 и 15 минут.


15:30:12 up 45 days, 3:21, 2 users,
load average: 0.15, 0.22, 0.19

Если значения нагрузки значительно превышают количество ядер процессора, сервер перегружен.

В своих проектах я использую серверную инфраструктуру Timeweb

Хостинг, VPS и облачные решения для стабильной работы сайтов на PHP и 1С-Битрикс — от корпоративных сайтов до интернет-магазинов и высоконагруженных веб-проектов.

Перейти на Timeweb
Реклама · ERID: CQH36pWzJqVJ4YD9t5y227AkMQdhpG2THarwRmX2g9tS8x

2. top — просмотр процессов

top

Показывает процессы, использование процессора и памяти в реальном времени.

3. htop — удобная альтернатива top

htop

Позволяет быстро отсортировать процессы по CPU или памяти и завершить зависший процесс.

4. free — проверка памяти

free -h

Показывает использование оперативной памяти и swap.

Если память заканчивается и активно используется swap, сайт может заметно тормозить.

5. vmstat — состояние системы

vmstat 1

Отображает статистику по процессору, памяти, дисковой подсистеме и очередям процессов.

Полезно для поиска узких мест в производительности.

6. iostat — нагрузка на диски

iostat -xz 1

Показывает загрузку дисковой подсистемы.

Особенно полезно, если сервер работает медленно из-за большого количества операций чтения или записи.

7. iotop — кто нагружает диск

iotop

Позволяет увидеть процессы, активно работающие с диском.

Часто помогает найти проблемный бэкап, импорт данных или процесс базы данных.

8. df — свободное место на дисках

df -h

Проверка заполнения файловых систем.

Если диск заполнен на 100%, могут перестать работать сайты, базы данных и почта.

9. du — поиск больших каталогов

du -sh /var/*

Помогает определить, какой каталог занимает больше всего места.

10. ss — сетевые подключения

ss -tulpn

Современная замена netstat.

Показывает открытые порты и процессы, которые их используют.

11. netstat — проверка сети

netstat -tulpn

На старых серверах до сих пор встречается чаще, чем ss.

12. lsof — какие файлы открыты процессом

lsof -p 1234

Показывает файлы, сокеты и подключения конкретного процесса.

13. lsof для сетевых подключений

lsof -i :80

Можно быстро определить, какой процесс занимает порт.

14. dmesg — системные сообщения ядра

dmesg | tail -50

Позволяет увидеть ошибки оборудования, файловой системы и драйверов.

15. journalctl — журнал systemd

journalctl -xe

Один из первых инструментов для поиска причин сбоев сервисов.

16. journalctl для конкретного сервиса

journalctl -u nginx

Позволяет быстро найти ошибки Nginx, PHP-FPM или других служб.

17. sar — историческая статистика

sar -u

Показывает загрузку процессора за прошлые периоды.

Полезно, когда проблема уже произошла и нужно понять, что было раньше.

18. tcpdump — анализ сетевого трафика

tcpdump -i any port 80

Позволяет анализировать входящие и исходящие сетевые соединения.

Часто используется для диагностики API, SMTP и интеграций.

19. curl — проверка ответа сайта

curl -I https://example.com

Позволяет проверить HTTP-заголовки и код ответа сервера.

20. ps — поиск проблемных процессов

ps aux --sort=-%cpu | head

Показывает процессы, потребляющие больше всего процессорного времени.

Что проверять первым делом, если сервер тормозит?

Обычно диагностику начинаю в следующем порядке:

  1. uptime — оценка нагрузки;
  2. free -h — память и swap;
  3. top или htop — активные процессы;
  4. iostat и iotop — дисковая нагрузка;
  5. df -h — свободное место;
  6. journalctl и dmesg — ошибки системы;
  7. ss или netstat — сетевые подключения.

В большинстве случаев этих команд достаточно, чтобы за несколько минут найти причину высокой нагрузки, зависания сайта или проблем в работе сервера.

84 просмотров

Если возникли сложности

Помогу разобраться с настройкой, исправить ошибки и реализовать решение под ваш проект.
Где заказы?

Почему один сайт стабильно приносит заявки, а другой годами просто «висит в интернете»?

В телеграм-канале «Где заказы?» я разбираю реальные ошибки бизнеса, SEO, сайты, рекламу, воронки продаж и показываю, почему компании теряют клиентов и как это исправить.

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

Комментарии

Где заказы?
Почему у одних компаний очередь из клиентов, а у других пустой сайт и тишина?
Телеграм канал «Где заказы?» — про продажи, сайты и ошибки бизнеса на реальных примерах. Подписаться