Admin Future
242 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
Linux: Когда логи молчат. Диагностика приложений с помощью strace

Ваше приложение падает, не оставляя логов. Или тормозит, хотя top не показывает проблем. Что оно на самом деле делает? Чтобы заглянуть "под капот" любого процесса, есть strace.

strace — это мощнейший инструмент отладки, который перехватывает и показывает все системные вызовы (syscalls), которые делает процесс. Это его общение с ядром Linux: открытие файлов, сетевые соединения, чтение/запись данных.

Практические кейсы:

Посмотреть, какие файлы открывает команда:

Bash
# Запускаем ls и смотрим, какие системные вызовы, связанные с файлами, он делает
strace -e trace=file ls /tmp

Вы увидите вызовы openat, read, close. Незаменимо, когда нужно понять, к какому конфигу обращается программа.

Подключиться к уже запущенному процессу:

Bash
# Находим PID нужного процесса (например, nginx)
pidof nginx

# Подключаемся к главному процессу nginx и смотрим все его системные вызовы
sudo strace -p $(pidof nginx | awk '{print $1}')

Найти причину "зависания":
Если команда "висит", strace покажет, на каком системном вызове она остановилась (например, connect к недоступному хосту или read из пустого сокета).

Взгляд архитектора:
strace — это микроскоп. Он нужен не каждый день, но умение им пользоваться отличает инженера, который может решить практически любую проблему, от того, кто сдаётся, если в логах нет ответа. Это инструмент для поиска коренной причины (root cause), а не для борьбы с симптомами.

#linux #strace #debugging #sre #команды
🔥2