jvm性能监控工具整理

常见命令1:jstat 虚拟机统计监视工具

功能:

JVM Statistics Monitoring Tool,是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。

用法:

jstat [options] pid [interval] [count]

参数解析

[options] : 操作参数,一般使用 -gcutil 查看gc情况
VMID : 本地虚拟机进程ID,即当前运行的java进程号
[interval] : 连续输出的时间间隔,单位为秒或者毫秒
[count] : 连续输出的次数,如果缺省打印无数次

对于操作参数具体有哪些: 可以通过命令:jstat -options 获取

jstat1.png

常见命令2:jps 虚拟机进程查看工具

常见参数:
-q: 只输出LVMID
-v:虚拟机进程启动时的参数
-l:输出主类的全名,如果进程是jar包,输出jar的路径


image.png

-m:虚拟机启动时传递给主类main()函数的参数


image.png

关于jinfo

https://www.cnblogs.com/NetKillWill/archive/2017/10/28/jinfo.html
jinfo是jdk自带的命令,可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数。


关于jmap

主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。

jmap -heap pid
https://www.cnblogs.com/kongzhongqijing/articles/3621163.html


配合jmap的jhat命令

很详细:
https://www.cnblogs.com/baihuitestsoftware/articles/6406271.html

Heap Histogram: 堆内对象容量查看
OQL: oql语句查询,详情后续有人问更新。。。 是在堆内查询对象数据的sql语句 语法和sql差不多

但一般不推荐这种方式分析堆内存情况,原因:

  1. 耗费计算机资源相对大
  2. 分析功能简陋,费神

较为推荐:VisualVM、HeapAnalyzer等工具


jstack: java堆栈跟踪工具

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容