深入理解JVM(四)JVM性能监控与故障处理工具

4.2 JVM命令行工具

1.jps(JVM Process Status Tool):JVM进程查看工具,命令行进入到jdk的bin目录下,使用命令:jps -l/-q/-v/-m

2.jstat(JVM Statistics Monitoring Tool):JVM运行状态监视工具,输入的内容全是文本的形式,查看JVM状态的命令:jstat -gc xxxx 250 20(查询xxxx进程ID的虚拟机,每250毫秒查询一次GC的情况,一共查询20次)

  jstat 查询出的参数:

①S:Survivor区;②C:总大小;③U:已使用;④E:Eden区;⑤O:老年代内存区;⑥YGC:Minor GC的次数;⑦YGCT:Minor GC耗时(毫秒);⑧FGC:Full GC的次数;

3.jinfo:实时查看和调整虚拟机参数;

4.jmap(Memory Map for Java):Java内存对象映像工具,命令:jmap -histo pid

5.jhat(JVM Heap-Analysis Tool):虚拟机堆转储快照分析工具,一般配合jmap使用,可以在浏览器中查看,不过此工具的功能性并不强大,一般不推荐使用;

6.jstack(JVM Stack Trace for Java):Java堆栈跟踪工具,生成线程快照,可以定位线程出现长时间卡顿的原因,比如:死锁(Deadlock)、死循环、请求外部资源导致的长时间等待(Waiting on condition)、阻塞(Blocked)等,命令:jstack -xx pid

4.3 可视化JVM监控工具

1.JConsole

2.JVisualVM

JConsole和JVisualVM是Java/bin目录自带的两个JVM性能监视工具,VisualVM功能和数据的直观性都要比JConsol强大许多并且还可以装插件,但是JConsole对于堆内存的描述更加详细,包括Eden、Survivor、Old Gen等。

原文地址:https://www.cnblogs.com/lcmlyj/p/10104374.html