Linux и systemd

Система, диск, память, порты, сервисы и логи.

Быстро понять, жив ли сервер

Начинать стоит с этих команд: они показывают время, имя сервера, аптайм, память, диски, IP и упавшие сервисы.

date
hostnamectl
uptime
free -h
df -h
ip -br a
ss -ltnup
systemctl list-units --failed --no-pager

Найти, что заняло диск

Если `df -h` показывает почти полный раздел, смотри крупные каталоги сверху вниз.

du -h --max-depth=1 / | sort -h
du -h --max-depth=1 /var | sort -h
du -h --max-depth=1 /var/log | sort -h
journalctl --disk-usage
journalctl --vacuum-time=14d

Сервисы и логи

`status` показывает текущее состояние, `journalctl -u` даёт последние логи, `restart` использовать только когда понятно, что сервис можно перезапустить.

systemctl status SERVICE_NAME --no-pager
journalctl -u SERVICE_NAME -n 100 --no-pager
journalctl -u SERVICE_NAME -f
systemctl restart SERVICE_NAME
systemctl reload SERVICE_NAME
systemctl daemon-reload

Время и синхронизация

Если логи выглядят странно или сертификаты ругаются на время, проверить таймзону и NTP.

timedatectl
timedatectl status
timedatectl list-timezones
timedatectl set-timezone Europe/Moscow
chronyc tracking
chronyc sources -v
hwclock --show

Железо и ядро

Полезно при переносах, странных драйверах, виртуализации и диагностике USB/PCI-устройств.

lscpu
lsmem
lspci
lsusb
dmidecode -t system
uname -r
dmesg -T | tail -n 80

Мониторинг нагрузки

Если сервер «тормозит», смотреть CPU, память, диск и открытые файлы вместе, а не по одному числу.

vmstat 1 5
iostat -xz 1 5
sar -r 1 5
sar -n DEV 1 5
lsof | wc -l
watch -n 1 'free -h; df -h'

Что искать дальше

Для подробного разбора команды обычно достаточно запроса вида: `systemctl status объяснение`, `journalctl -u примеры`, `linux проверить место на диске du df`.