进程“莫名崩溃”通常可以从系统、程序本身、依赖环境、资源几个层面来系统排查。下面是一套比较通用的排查思路(Linux 为主,兼顾 Windows)。
echo $?
常见含义:
139 → SIGSEGV(段错误)134 → SIGABRT137 → OOM(内存不足被 kill)dmesg | tail
journalctl -xe
/var/log/messages
/var/log/syslog
重点看:
Out of memorysegfault at ...killed process.dmp 崩溃转储ulimit -c unlimited
./your_program
崩溃后:
gdb ./your_program core
bt
strace -f ./your_program
看最后卡在哪:
ltrace ./your_program
top / htop
free -m
cat /proc/<pid>/status
或:
valgrind --leak-check=full ./your_program
ulimit -a
lsof -p <pid>
ldd your_program
常见崩溃原因:
docker logs <container>
dmesg | grep -i oom
kubectl describe pod
kubectl logs
如果你愿意,可以告诉我:
我可以给你更针对性的排查步骤。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。