今天发现服务器上程序运行异常,整个程序是在运行,但从日志看只有部分线程在运行,而另一部分线程没运行。然后我就在代码中加入了一些更详细的日志,然而问题发生时,程序还是那种异常。于是就上网搜了一些查看线程状态的资料,这里总结下。
top -H -p pid
# top -H -p 17972
这个命令可以查看同一进程下各个线程的运行状态,如下图
pstack pid
# pstack 17972
这个命令可以看到同一进程下各个线程的堆栈信息,如下图
今天发现服务器上程序运行异常,整个程序是在运行,但从日志看只有部分线程在运行,而另一部分线程没运行。然后我就在代码中加入了一些更详细的日志,然而问题发生时,程序还是那种异常。于是就上网搜了一些查看线程状态的资料,这里总结下。
top -H -p pid
# top -H -p 17972
这个命令可以查看同一进程下各个线程的运行状态,如下图
pstack pid
# pstack 17972
这个命令可以看到同一进程下各个线程的堆栈信息,如下图