jps
意思:输出当前系统所有java进程信息
命令:jps -m -l -v
jinfo
意思:观察进程运行环境参数,包括Java System属性和JVM命令行参数
命令:jinfo pid
jstack
意思: jstack主要用来查看某个Java进程内的线程堆栈信息,找出某个Java进程中最耗费CPU的Java线程并定位代码
命令1(该进程所有堆栈信息):jstack pid
命令2(某一个线程堆栈信息):jstack pid | grep 线程pid
jmap
意思: jmap用来查看堆内存使用状况,一般结合jhat使用
命令1(类加载器名称、已加载的类大小等信息):jmap -permstat pid
命令2(jmap -heap pid):GC算法、堆配置参数和各代中堆内存使用情况
命令3(jmap -histo:live pid | more):堆内存中的对象数目、大小统计直方图
命令4(导出内存dump):jmap -dump:format=b,file=文件路径 pid, dump出来的文件可以用MAT、VisualVM等工具查看,这里用jhat查看
jhat
解释:分析堆内存dump文件
命令:jhat 文件路径
jstat
意思:查看GC的情况
命令: jstat -gc 3711 250,250ms采集一次