Debug process trên Linux: strace, lsof, ss và /proc
Khi service hang hoặc có hành vi lạ, đây là toolset để tìm ra vấn đề mà không cần restart hay thêm log.
LinuxDebugstracelsofproc
strace: nhìn thấy mọi syscall
`strace -p <pid>` attach vào process đang chạy và in ra mọi system call. Khi service bị hang, strace thường cho thấy nó đang chờ I/O, lock hay socket nào.
`strace -f -e trace=network` lọc chỉ syscall liên quan network — hữu ích khi debug connection issue mà không muốn ngập trong output.
- strace -p PID để attach live
- strace -c đếm syscall theo tần suất
- lsof -p PID liệt kê file descriptor
- ss -tlnp xem port nào đang listen
Bước tiếp theo
Nếu áp dụng vào dự án thật, hãy bắt đầu bằng phiên bản nhỏ nhất có thể đo được, ghi lại quyết định kỹ thuật, rồi cải tiến dựa trên log và phản hồi người dùng.