linux查看Java线程

1、查看Java进程pid的方式java

1. ps命令 linux

  ps -ef | grep javajvm

2. jvm自带的 jps 工具工具

3. 固然还有其余命令也能够显示 netstat ,top线程

2、查看Java线程的方式对象

top命令blog

  top -Hp pid进程

 

前面的PID列就是 linux下的线程编号(10进制数字)内存

jstack工具 导出的线程栈中线程的编号是 16进制的,grep

只要将 10 进制 转换为16进制 数字 便可 去jstack线程栈中寻找对应的线程

3、线程问题排查

 线程问题,最多见的问题因素仍是 : CPU , MEM

1. CPU 

CPU就是时间嘛, 占用的CPU越多,说明这个线程 占用的 CPU时间片 越多。

解决之道,jstack多导出几回栈,找到线程调用的方法,再查代码。

2. MEM

内存问题,内存中对象过多(有native(JNI)调用要注意本地方法栈内存)。

相关文章
相关标签/搜索