JVM性能分析常用命令和工具

本文介绍了Linux系统命令和Java自带工具,如uptime、top、jstack、jmap等,用于JVM性能监控与分析。此外还介绍了可视化工具jconsole、jvisualVM以及Eclipse MAT等高级内存分析工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JVM性能分析常用命令及工具
        
        linux上系统命令:
               uptime          查看系统启动时间, 内存/cpu使用情况等信息
               top             查看系统资源占用情况
               pidstat         查看指定进程/线程的信息(如果没有需要额外安装)
                            进程/线程资源占用情况,有没有死锁等等

               iostat        系统io情况

               vmstat          虚拟机信息

               netstat         网络端口信息

               ifstat         网卡信息

               dstat         需要安装,相当于以上stat的集成功能

        Java自带工具:(具体使用-help查看)
                jps            类似于linux上的ps, 不过jps只用于查看在jvm上运行的进程
                jstack        查看线程栈信息
                jmap        查看/导出堆信息

                jhat         配合jmap分析到处的堆信息


                jinfo          查看进程的环境变量参数, vm args等信息,部分参数可以直接修改

                jstat         查看jvm进程信息
                                例如:jstat -gc 32775 1000 10
                                代表打印pid为32775的gc信息10次, 每1000毫秒(1秒)一次

                可视化工具
                jconsole    查看资源/堆栈/线程等信息
                jvisualVM   可用于分析导出堆信息, 以及包含jconsole的功能
                                    OQL对象查询语句, 可以在分析堆时查询,
                                    该工具JDK9开始已经不再打包在jdk中,
                                    需要单独下载:http://visualvm.github.io/download.html


                
        Eclipse内存分析MAT
                Memory Analyzer Tool    分析堆导出信息, 也可以使用OQL查询
                引用图:        对象之间相互引用的图
                支配树:        对象a访问对象c时,只有通过对象b才能访问c, 则b对c有支配权, c是b的下级
                浅堆:        浅堆表示一个对象的结构所占内存,与实际内容无关,
                                比如String包含 (value引用,hash值,offset起始位置,count字符数) int(4)x3+value引用占4字节=16
                                , 最后对象头部固定8字节,总共16+8=24字节.
                深堆:        对象在被GC回收时,实际回收了多少内存=只能通过该对象(直接/间接)访问到的所有对象的浅堆之和(支配树)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值