JVM性能监控及诊断工具——命令行篇

JVM性能监控与调优

    • jps:查看正在运行的java进程
    • jstat:查看JVM统计信息
      • 类装载
      • interval和count参数
      • -t和-h参数
      • option参数
    • jinfo:实时查看和修改JVM配置参数
    • jmap:导出内存映射文件和内存使用情况
      • -dump 导出内存映像文件
      • -heap &-histo显示堆内存相关信息
    • jstack:打印JVM中线程快照

jps:查看正在运行的java进程

JVM性能监控及诊断工具——命令行篇_第1张图片

jstat:查看JVM统计信息

jstat用于监视虚拟机各种运行状态信息的命令行工具。他可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集等运行数据。常用于检测垃圾回收问题以及内存泄露问题。

类装载

jastat -class 进程号
JVM性能监控及诊断工具——命令行篇_第2张图片

interval和count参数

interval:每隔多长时间查询一次
count:一共查询多少次
JVM性能监控及诊断工具——命令行篇_第3张图片

-t和-h参数

-t:查询进程到目前为止执行的总时间
在这里插入图片描述
-h:在周期性数据输出时,输出多少行数据后输出一个表头信息
JVM性能监控及诊断工具——命令行篇_第4张图片

option参数

-gc:堆的内存数据和垃圾回收次数
在这里插入图片描述
分析内存泄露问题
通过查看OU参数(老年代占用内存),每当发生FullGC后,查看OU参数,如果OU参数呈一个很明显的上升趋势,说明存在内存泄漏问题

jinfo:实时查看和修改JVM配置参数

在这里插入图片描述
JVM性能监控及诊断工具——命令行篇_第5张图片

jmap:导出内存映射文件和内存使用情况

JVM性能监控及诊断工具——命令行篇_第6张图片

-dump 导出内存映像文件

JVM性能监控及诊断工具——命令行篇_第7张图片
手动导出:
特点:没有发生OOM就可以生产dump文件
JVM性能监控及诊断工具——命令行篇_第8张图片
自动导出:
特点:需要发生OOM后才可以会生成dump文件
在这里插入图片描述

-heap &-histo显示堆内存相关信息

JVM性能监控及诊断工具——命令行篇_第9张图片
jmap -heap: 显示堆空间的内存分配和已经占用情况
JVM性能监控及诊断工具——命令行篇_第10张图片
**jmap -histo:**显示各数据类型占用的堆内存空间从大到小
JVM性能监控及诊断工具——命令行篇_第11张图片

jstack:打印JVM中线程快照

JVM性能监控及诊断工具——命令行篇_第12张图片
线程死锁的定位
JVM性能监控及诊断工具——命令行篇_第13张图片
JVM性能监控及诊断工具——命令行篇_第14张图片

你可能感兴趣的:(jvm,java)