Неполадки
-
Диагностика сети
Лесенка проверки связности: от интерфейса и шлюза до DNS и порта нужного сервиса.
4 минping -c4mtr -rwctraceroute -T -
Мониторинг системы: с чего начать, когда сервер тормозит
Порядок разбора «сервер тормозит»: процессор, память, диск, ядро и сеть — чем смотреть каждый ресурс.
7 минvmstattopfree -h -
Load average: сколько задач ждёт процессор и диск
Среднее число задач, которые работают или ждут процессор (R) и ждут ядро (D), за 1, 5 и 15 минут.
11 минuptimenproccat -
ping — проверить, доходят ли пакеты до узла
Команда ping шлёт узлу эхо-запросы ICMP и печатает ответы, задержку и потери — первая проверка сетевой связи.
6 минping -cpingip netns -
stress-ng — нагрузка на процессор, память и диск по таймеру
stress-ng создаёт нагрузку на процессор, память и диск на заданное время — для опытов с load, OOM и диском.
8 минstress-ng --cpustress-ng --vmstress-ng --hdd -
iostat и pidstat — какой диск занят и какой процесс его грузит
iostat показывает загрузку дисков — запросы, задержку, %util; pidstat — процессор, память и диск по процессам.
8 минiostat -dxsyiostat -xpidstat -dl -
/proc: процессы и ядро в виде файлов
/proc — файловая система, в которой ядро показывает процессы (/proc/<pid>) и себя: память, load, параметры.
10 минlsgrep -Els -l -
Загрузка системы и GRUB
Как загружается Linux: прошивка, загрузчик GRUB, ядро, цели systemd и аварийный режим.
4 минupdate-grubgrub-installsystemctl get-default -
Память и swap: free, available и кэш страниц
Как читать free: занятая и свободная память, кэш страниц и available; swap, swap-файл и vm.swappiness.
10 минfree -hgrep -Eps -eo -
Процессы
Просмотр, сигналы и приоритеты процессов; поиск пожирателей CPU/памяти.
5 минps auxps -eopgrep -a -
OOM killer: кто и почему завершил процесс
Механизм ядра: когда память кончилась на машине или в cgroup с лимитом, завершает процесс сигналом SIGKILL.
10 минjournalctl -ksystemctl showcat -
shellcheck — проверка скриптов до запуска
shellcheck читает скрипт bash или sh, не выполняя его, и находит ошибки: переменные без кавычек, cd без проверки.
6 минshellcheckshellcheck -fshellcheck -S -
Цели загрузки: default, multi-user, rescue и emergency
Цель (target) — группа юнитов, до которой systemd доводит загрузку; rescue и emergency — цели для починки.
10 минsystemctl get-defaultsystemctl set-defaultsystemctl list-units -
systemd-analyze: что тормозит загрузку и что не так в юните
Разбирает загрузку по времени и цепочке зависимостей юнитов и проверяет юнит-файл до запуска службы.
10 минsystemd-analyzesystemd-analyze blamesystemd-analyze critical-chain -
Коды завершения: $?, && и ||
Код завершения — число от 0 до 255, которым команда сообщает итог: 0 — успех, другое число — сбой или ответ «нет».
8 минlsgrep -qmkdir -
Место на диске: df, du, inode
Куда делось место и inode: df по разделам, du по каталогам, поиск крупных файлов и ловушки.
3 минdf -hdf -idu -xh -
dmesg — сообщения ядра: OOM, ошибки диска и ФС, segfault
dmesg печатает кольцевой буфер ядра: сообщения о дисках, файловых системах, OOM, падениях программ и железе.
8 минdmesg -Tdmesg -ldmesg -x -
lsof — открытые файлы и порты процессов
lsof показывает, какой процесс держит файл, порт или удалённый, но ещё открытый файл.
5 минlsof -ilsoflsof -p -
Unix-сокеты — связь процессов через файл
Unix-сокет — файл, через который процессы одной машины обмениваются данными; подключается тот, у кого есть право записи.
7 минls -lstat -css -xl -
strace — какие системные вызовы делает процесс
strace показывает системные вызовы программы и их результат: какой файл не открылся, куда не подключилась, на чём висит.
7 минstrace catstrace -fstrace -e -
Файловые системы: ext4, xfs, fsck
Файловые системы: создание через mkfs, метки и UUID, проверка fsck, выбор между ext4 и xfs.
6 минlsblk -fmkfs.ext4 -Ltune2fs -m -
ulimit и лимиты процесса: открытые файлы, процессы, core
Лимиты ресурсов процесса — открытые файлы, процессы, core: ulimit, /proc/<pid>/limits и LimitNOFILE службы.
7 минulimit -aulimitulimit -Sn -
DNS и разрешение имён
Как имя превращается в IP — resolv.conf, systemd-resolved, /etc/hosts, dig.
4 минgetent hostsresolvectl statusdig -
nmap: какие порты видны снаружи
Сканер портов: показывает, какие порты машины открыты, закрыты или отфильтрованы — глазами другой машины.
8 минnmapnmap -pnmap -p- -
Программный RAID mdadm
Программный RAID в Linux через mdadm: создание массива, статус, замена отказавшего диска.
4 минcatmdadm --detailmdadm -
HTTP — запросы, ответы, коды и заголовки
HTTP — протокол веба: клиент шлёт метод, путь и заголовки, сервер отвечает кодом, заголовками и телом.
10 минcurl -icurl -Icurl -v -
curl — HTTP-запросы из консоли
curl шлёт HTTP- и HTTPS-запросы из консоли: код ответа, заголовки, весь обмен, проверка сайта по имени и сертификату.
6 минcurl -icurl -Icurl -v -
tcpdump — захват и анализ сетевого трафика
Захватывает пакеты для диагностики «доходит ли трафик»; без -n резолвит каждый IP в DNS и заметно тормозит.
4 минtcpdump -ni -
ethtool — настройки сетевой карты
Скорость и дуплекс линка, статистика ошибок, тип кабеля — диагностика NIC.
3 минethtoolethtool -Sethtool -i -
nc — проверка портов и передача данных
nc (netcat) проверяет доступность портов и передаёт данные по TCP и UDP без лишних программ.
4 минnc -zvw3nc -zvunc -zv -
Dockerfile — рецепт образа и docker build
Dockerfile — рецепт образа: основа, файлы, команды сборки и запуска; docker build собирает по нему образ.
12 минdocker builddocker historydocker image -
docker compose — стек контейнеров одним файлом
docker compose описывает стек контейнеров с сетью, томами и переменными в compose.yaml и поднимает его одной командой.
13 минdocker compose -
conntrack (отслеживание соединений)
Таблица соединений ядра — что видит NAT/файрвол, переполнение, отладка.
3 минconntrack -Lconntrack -Econntrack -S