-
4.1 三要素
- 关键基础:知识和经验
- 依据:数据,包括但不限于异常堆栈、虚拟机运行日志、垃圾收集器日志、线程快照(threaddump/javacore文件)、堆转储快照(heap dump/hprof文件)等
- 手段:通过工具运用知识来处理数据
-
4.2 工具
-
(1)基础故障处理工具
- jps:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(名称以及这些进程的本地虚拟机唯一ID;
- jstat:监视虚拟机各种运行状态信息,可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据;
- jinfo:实时查看和调整虚拟机各项参数;
- jmap:用于生成堆转储快照,还可以查询finaliz e执行队列、Java堆和方法区的详细信息,如空间使用率、当前用的是哪种收集器等;
- jhat:与jmap搭配使用,来分析jmap生成的堆转储快照
- jstack:用于生成虚拟机当前时刻的线程快照;
-
(2)可视化故障处理工具
- JHSDB
- JConsole:一款基于JMX(Java Management Extensions)的可视化监视、管理工具。它的主要功能是通过JMX的MBean(Managed Bean)对系统进行信息收集和参数动态调整。
- VisualVM:除了基本的监控功能外,BTrace插件可以通过HotSpot虚拟机的Instrument功能动态加入原本并不存在的调试代码;
- JMC(Java Mission Control):
-
(3)HotSpot虚拟机插件及工具
-
-
4.3 系统调优
- 系统调优的工作并不只是针对服务端应用的,除了规模大的系统需要专业的调优运维团队之外,普通程序员日常工作中使用的开发工具(如Eclipse)也可以进行调优;
深入学习JVM- (4)性能监控、故障处理与调优
于 2024-08-29 14:20:20 首次发布