使用工具须要开启JMX,1.6自动开启,1.5须要加参数
jps Process Status HotSpot虚拟机进程, main入口, 进程的本地虚拟机的惟一ID lvmid. 这个id颇有用,其余工具都须要,通常来讲 与 PID一致。
jstat Statistics Monitoring Tool HotSpot各方面运行数据 。 类装载,内存等运行数据
jstat -gc 2754 250 20 对lvmid为2754的每一个250毫秒查询一次供查询50次垃圾收集的状态
不少参数可用
jinfo 虚拟机配置信息 查看和调整各项参数。
jinfo -flag CMSiNI.. 1444 查看 lvmid这个属性的值
jmap VM内存转储快照 heapdump
可以查看两个代的详细信息,那种收集器等。 不少命令都只能在linux下有小
-dump 生成快照
-heap 显示那种回收期,参数配置等信息。
jhat HeapDempBrowser 分析heapdump文件,创建一个http的服务器,能够经过浏览器查看结果。
jhat file.bin 启动后使用http://localhost:7000进行查看
jstack 堆栈跟踪工具, 当前时刻的线程快照。 thearddump
主要定位线程出现长时间停顿的缘由,如死锁,死循环,请求外部资源等。 能够知道僵住的线程在等待什么,或者在作什么。
jsatck -l lvmid 除堆栈外显示加锁信息。
能够使用Thread累的getAllStackTraces()方法,获取全部线程,能够作一个动态的查看的页面linux
JConsole
基于JMX
气动就能选择lvmid,不用执行jps了
内存标签页至关于jstat命令 能够for不停的把大点的对象加入list
线程页至关于jstack 能够写死循环(停留在某一个行),或者是lock.wait()这样的代码来观察 WAITING状态
互相引用死锁 BLOCKED状态浏览器
Visualvm: 多合一处理工具,还提供了eclipse下的插件
功能强大,官方,插件式,功能:
dump日志
分析程序性能
BTrace插件。服务器