Процесс жрёт CPU на 100%, а top показывает только PID? Используйте strace -cp <PID>, и вы получите статистику системных вызовов — сразу видно, процесс висит на диске, сети или чём-то ещё.
🔹 Зачем это нужно
— Показывает, на какие системные вызовы тратится время: read, write, futex, epoll_wait.
— Если 90% времени в futex, то дедлок или контеншн на мьютексе.
— Если read/write, то проблема с I/O, проверяйте диск или NFS.
— Если connect/sendto, то приложение ждёт ответа от другого сервиса.
🔹 Как использовать
— Статистика вызовов процесса:
strace -cp <PID>— Трассировка в реальном времени:
strace -p <PID> -e trace=network— Только файловые операции:
strace -p <PID> -e trace=file— С таймстемпами:
strace -p <PID> -T -e trace=write— Трейсить с дочерними процессами:
strace -fp <PID>