我有一个用 C 开发的应用程序(多线程)在生产服务器上运行。最近,我的应用程序处于挂起状态长达 5 个小时,我们却没有注意到。
因此,我们开发了一个脚本来提醒我们,获取有关
pstack
strace
lsof
gcore
top
full processlist ( for mysql ).
并重新启动应用程序。
因此,我们将收到警报以及有关该进程为何陷入挂起状态的必要详细信息。
当应用程序宕机时,您使用什么工具来分析问题。
答案1
不要重新发明轮子。使用监控。
它是一个守护进程和进程监视实用程序,可以根据简单的人性化配置语法采取任意数量的操作。
答案2
您可以使用 gdb 和 strace 调试正在运行的应用程序。它们将附加到正在运行的进程。