问题:一个进程下面会启动多个线程,通过top命令可以查出某个进程cpu,内存使用情况等信息,但无法知道是哪个线程。
解决方法:
1. 用jstack打印出给定的java进程ID的Java堆栈信息(jstack 进程号PID > /tmp/stack.txt)
/tmp/stack.txt:打印堆栈信息文件路径,自己随便给个。
进程号PID:通过top查看。
jstack 进程号PID > /tmp/stack.txt
2.使用 top -Hp 进程号PID 查看进程下的线程号PID
3.复制线程号PID转化成十六进制,然后使用 vi /tmp/stack.txt 查找到对应的线程信息