文章目录
在 windows 环境下演示
jps(Java Process Status):查看正在运行的Java进程
1、查看正在运行的Java进程:jps(Java Process Status)
jstat(JVM Statistics Monitoring Tool):查看 JVM 的统计信息
查看内存使用情况,分析堆中各部分使用情况、过程变化、GC 时间等。
在生产环境中,可以执行 jstat 命令,快速收集应用程序的运行数据,可以快速了解应用程序的运行状况,有助于在线上问题发生时进行快速诊断和分析。通过查看内存区域的容量和利用率,可以发现内存泄漏和溢出等问题以及优化应用程序的内存管理;还可以帮助开发者快速定位 GC 相关的性能瓶颈。通常结合其他监控工具(如 JConsole、VisualVM、Jprofiler 等)使用。
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
参数解释:
<option>:指定要显示的性能指标,如 -gc、-gccapacity、-gcutil 等
-t:在输出中显示时间戳,显示程序运行的时间
-h<lines>:每隔多少行输出一个表头
<vmid>:Java 虚拟机进程 ID
<interval>:输出间隔,单位为毫秒,每隔多长时间输出一次
<count>:指定输出的总次数
常用选项及含义:
-gc:显示与GC相关的堆信息,Eden、Suvivor、老年代等空间使用情况及GC次数、时间相关信息
-gccapacity:与-gc基本相同,但关注Java堆各个区域使用的最大、最小空间,可以查看内存池的配置和使用情况。
-gcutil:与-gc基本相同,但关注空间使用百分比
-class:类加载统计相关信息
-compiler:JIT 编译器统计
-printcompilation:方法编译统计
如:jstat -gc 12345 1000 10:每秒输出一次,共输出10次,PID 为 12345 的 Java 进程的垃圾收集统计信息。
帮助:
示例: