共计 388 个字符,预计需要花费 1 分钟才能阅读完成。
第一部分是内存信息,这里可以获取到 GC 的不同阶段及耗时情况、GC 的停顿时间、GC 的分代大小等配置信息,能够查看到对象分配,包括 TLAB 栈上分配情况,以及对象统计信息等等。
第二部分是代码信息,可以分析出热点的类、热点的方法、热点的调用树、运行时的异常信息、编译情况包括 OSR 栈上替换等信息,以及类的加载与卸载情况。
第三部分是线程信息部分,可以分析到:热点的线程、线程的争用情况、线程的等待时间、以及锁相关的信息。
第四部分是 IO 信息部分,可以获得收集期间的磁盘 IO,也就是文件读写信息,以及网络 IO 等信息。
最后一部分系统信息可以获取到操作系统信息、进程相关信息以及环境变量等信息。
总结一下:JMX 和 JFR 都可以获得 JVM 运行的信息,JMX 主要用来对 JVM 进行监控与管理,通过扩展 Mbean 支持自定义的管理能力。JFR 主要用来对 JVM 运行信息进行周期性采集,用来对运行状况进行分析。
正文完
发表至: java
2019-06-26