目录
- [1- 引言:](#1- 引言:)
- [2- ⭐核心:](#2- ⭐核心:)
- [3- 小结:](#3- 小结:)
-
- [3-1 说一下 JVM 调优的工具](#3-1 说一下 JVM 调优的工具)
1- 引言:
命令工具
- jps------进程状态信息
- jstack------查看Java进程内线程的堆栈信息
- jmap------查看堆转信息
- jhat------堆转快照分析工具
- jstat------JVM统计监测工具
可视化工具
- jconsole------对于 JVM 的内存、线程、类的监控
- VisualVM------能够监控线程、内存的情况
2- ⭐核心:
2-1 命令工具
jps
- 查看 Java 正在运行的进程状态信息
jstack
- 查看 Java 进程内线程的堆栈信息,通过 jstack + 进程 id 的方式
- 假设产生了死锁,就可以使用 jstack 来查看当前线程运行的情况。
jmap
- 用于生成堆转内存快照、内存使用情况
java
jmap -hearp pid
- format=b 表示以 prof 二进制格式转储 Java 堆的内存
- file= 用于指定快照 dump 文件的文件名。
什么是 dump 文件?
- 是一个进程或系统在某一给定的时间的快照。比如在进程销贵时,甚至是任何时候,我们都可以通过工具将系统或某进程的内存备份出来供调试分析用 。
- dump 文件中包含了程序运行的模块信息,线程信息,堆栈调用信息,异常信息等数据,方便系统技术人员进行错误排查。
jstat
- 是 JVM 统计监测工具,可以用来显示垃圾回收信息、类加载信息、新生代统计信息等。
①总结垃圾回收统计
java
jstat -gcutil pid
②垃圾回收统计
java
jstat -gc pid
2-2 可视化工具
jconsole
- 用于对 jvm 的内存、线程、类 的监控,是一个基于 jmx 的 GUI 性能监控工具。
- 打开方式:java 安装目录 bin目录下,直接启动 jconsole.exe 就行
VisualVM
- 能够监控线程,内存情况,查看方法的 CPU 时间和内存中的对象,已被 GC 的对象,反向查看分配的堆栈
- 打开方式:java安装目录bin目录下直接启动
**jvisualvm.exe**
就行 - 查看运行中的 dump 文件。