列出正在运行的JVM进程
1 |
|
如果是本地JVM,LVMID与进程ID(PID)相同,如果是远程JVM,则VMID格式是:
[protocol:][//]lvmid[@hostname[:port]]/servername]
监视JVM运行状态
1 |
|
实时查看和修改JVM参数
1 |
|
生成堆转储快照(heap dump)
1 |
|
线程快照(thread dump或javacore)
用于定位线程长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致长时间等待等原因
1 |
|
JFR(Java Flight Recorder)
1 |
|
可视化工具
jconsole
- “内存”标签相当于可视化的jstat,用于监控JVM内存(堆和永久代)的变化趋势
- “线程”标签相当于可视化的jstack,遇到线程停顿可以使用这个标签进行监控分析
jvisualvm
- “线程”标签提供线程dump
- “抽样器”标签提供cpu和堆dump
- “profiler”标签提供方法级的CPU执行时间及内存分析,堆程序运行性能较大影响,在生产环境不建议使用
- “BTrace”插件,通过HotSpot JVM的HotSwap技术运行在不停止运行的情况下动态更新已经加载的类代码,从而加入调试代码进行调试