1. 查看线程栈
jstack ${pid}
线程状态参看
线程状态。线程可以处于下列状态之一:
NEW
至今尚未启动的线程处于这种状态。
RUNNABLE
正在 Java 虚拟机中执行的线程处于这种状态。
BLOCKED
受阻塞并等待某个监视器锁的线程处于这种状态。
WAITING
无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。
TIMED_WAITING
等待另一个线程来执行取决于指定等待时间的操作的线程处于这种状态。
TERMINATED
已退出的线程处于这种状态。
在给定时间点上,一个线程只能处于一种状态。这些状态是虚拟机状态,它们并没有反映所有操作系统线程状态。
自JAVA API
2. 查看内存信息
jmap -histo:live ${pid}
查看每个类的对象的个数,所占空间大小
3. 查看所有的java进程
jps -l
打印所有java进程:进程号,启动class,给MAIN的参数
jps -vl
除了上面的命令外,还打印传给jvm的参数