0
点赞
收藏
分享

微信扫一扫

java内存分析工具

1、jmap

map 一般可用于:

jmap能够打印给定Java进程、核心文件或远程DEBUG服务器的共享对象内存映射或堆内存的详细信息

内存监控

分析对象内存

怎么用?

jmap 相关命令:

可通过 jmap --help 查看

jmap [option] :连接运行的进程 ,分析内存情况

jmap [option] <executable :分析 core dump文件

jmap [option] [server_id@] :连接到远程的服务器进行分析

jmap -help / java -h : 查看帮助信息

1、jmap [option]

**jmap [option] **

pid: 可通过 jps 或者 ps 获得

示例如上面 示例图 一样,用ps 查询到java 的进程号 25488 ,然后 jmap 25488 查看到当前进程的相关信息

2、jmap [option] <executable

jmap [option] <executable

executable: 生成核心转储的Java可执行文件。

core: 要打印配置信息的核心文件

3、jmap [option] [server_id@]

server-id: 当很多debug服务在远程跑的时候,这个服务的唯一 ID

remote-hostname-or-IP: 远程服务的IP或者hostname

4、[option]

-dump: :生成Java堆快储快照,如下

live:仅将存活得对象dump出

format:编码格式

file :生成得文件名称

-finalizerinfo :显示出等待执行 finalize方法得对象

-heap : 显示Java堆详细信息

-histo[:live] :显示堆中对象的详细信息,如果加了live,只显示 存活 得对象信息

-clstats :显示出加载器静态对象

常用命令:

jmap [pid] # 查看具体情况

jmap -dump:live,format=b,file=xxx.xxx [pid] #将当前Java进程的内存占用情况导出来

jmap -histo:live [pid] >a.log  # 显示 存活 得对象信息

jmap -finalizerinfo [pid] # 查看 等待执行finalize 方法的数量

jmap -heap [pid] # 堆摘要信息


举报

相关推荐

0 条评论