JVM 监控与分析工具你用过哪些?介绍一下。
参考答案
- jps,显示系统所有虚拟机进程信息的命令行工具
- jstat,监视分析虚拟机运行状态的命令行工具
- jinfo,查看和调整虚拟机参数的命令行工具
- jmap,生成虚拟机堆内存转储快照的命令行工具
- jhat,显示和分析虚拟机的转储快照文件的命令行工具
- jstack,生成虚拟机的线程快照的命令行工具
- jcmd,虚拟机诊断工具,JDK 7 提供
- jhsdb,基于服务性代理实现的进程外可视化调试工具,JDK 9 提供
- JConsole,基于JMX的可视化监视和管理工具
- jvisualvm,图形化虚拟机使用情况的分析工具
- Java Mission Control,监控和管理 Java 应用程序的工具
- MAT,Memory Analyzer Tool,虚拟机内存分析工具
- vjtools,唯品会的包含核心类库与问题分析工具
- arthas,阿里开源的 Java 诊断工具
- greys,JVM进程执行过程中的异常诊断工具
- GCHisto,GC 分析工具
- GCViewer,GC 日志文件分析工具
- GCeasy,在线版 GC 日志文件分析工具
- JProfiler,检查、监控、追踪 Java 性能的工具
- BTrace,基于动态字节码修改技术(Hotswap)实现的Java程序追踪与分析工具
下面可以重点体验下:
- JDK 自带的命令行工具方便快捷,不是特别复杂的问题可以快速定位;
- 阿里的 arthas 命令行也不错;
- 可视化工具 MAT、JProfiler 比较强大。