ПРАКТИЧЕСКИЕ ЗАМЕТКИ / LINUX

Понять состояние системы

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

Сначала контекст, затем команды

«Сервер работает медленно» — ещё не диагноз. Уточните, что именно происходит: долго открывается одна страница, задерживается SSH, завершается процесс или вся система перестала отвечать. Запишите время и последнюю известную рабочую проверку.

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

hostnamectl
uptime
НА ЗАМЕТКУ

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

Нагрузка и память: смотрим вместе

uptime показывает среднюю нагрузку за несколько интервалов. Это не процент использования процессора. Для понимания причины сопоставьте её с числом ядер, активностью процессов и ожиданием ввода-вывода.

nproc
top
free -h

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

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

Использование swap тоже оценивайте в динамике. Старые страницы в swap не доказывают, что система испытывает давление на память прямо сейчас.

Место на диске — не единственная граница

Файловая система может заполниться по объёму или по количеству inode. Поэтому полезны обе проверки:

df -h
df -i

Сначала найдите проблемную файловую систему. Затем уточните, какие каталоги занимают место. Для каталога, который вы уже выбрали, можно посмотреть суммарный размер:

du -sh /var/log

Не удаляйте файлы только потому, что они большие. Уточните владельца, назначение и правила хранения. Удаление открытого файла не всегда немедленно освобождает место: процесс может продолжать удерживать его дескриптор.

Службы и журнал дают контекст

На системе с systemd список неуспешно запущенных служб помогает сузить поиск. После этого исследуйте конкретную службу, а не перезапускайте всё подряд.

systemctl --failed
systemctl status example.service --no-pager
journalctl -u example.service --since "30 minutes ago" --no-pager

example.service — условное имя. Замените его реальным именем службы. В журнале важны первые сообщения перед ошибкой, повторяемость события и связь со временем возникновения симптома.

Перед передачей журналов другим людям проверьте, нет ли в них токенов, имён пользователей, адресов или других данных, которые не стоит раскрывать.

Короткий порядок действий

  1. Опишите конкретный симптом и время его появления.
  2. Сохраните данные о нагрузке, памяти, дисках и нужной службе.
  3. Сформулируйте одну проверяемую гипотезу.
  4. Если нужно изменение — сохраните конфигурацию и способ отката.
  5. После изменения повторите ту же проверку, с которой начали.

Этот порядок не заменяет понимания приложения, но помогает не потерять исходные данные и связь между действием и результатом.

Подробнее: systemctl и journalctl в документации systemd.