首页 > 其他分享 >【jmap】jmap命令详情

【jmap】jmap命令详情

时间:2023-05-06 21:11:51浏览次数:54  
标签:used MB 打印 命令 live 详情 jmap 内存

简介

1、jmap能够打印给定Java进程、核心文件或远程DEBUG服务器的共享对象内存映射或堆内存的详细信息。
2、如果给定的进程运行在64位虚拟机上,则必须指定 -J-d64选项,例如jmap -J-d64 -heap pid。
3、jmap可能在未来的JDK版本中删除。
可用于内存溢出,泄露等情况的内存分析


使用语法

<no option>

当不使用选项时,jmap打印共享对象映射。
对于加载到目标JVM中的每个共享对象,将打印其开始地址、映射大小和共享对象文件的完整路径。

-dump:[live,]format=b,file=

将Java堆以hprof二进制格式转储到filename文件中。

live是可选参数,如果指定,则只转储堆中的活动对象。

可以使用jhat (Java Heap Analysis Tool)工具来读取分析生产dump文件。

-heap

打印堆摘要 (可以看到新生代,老年代的内存占比等)

Attaching to process ID 327, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.171-b11

using thread-local object allocation.
Parallel GC with 8 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 2147483648 (2048.0MB)
   NewSize                  = 357564416 (341.0MB)
   MaxNewSize               = 715653120 (682.5MB)
   OldSize                  = 716177408 (683.0MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 499646464 (476.5MB)
   used     = 49856184 (47.54656219482422MB)
   free     = 449790280 (428.9534378051758MB)
   9.978292171001934% used
From Space:
   capacity = 15204352 (14.5MB)
   used     = 0 (0.0MB)
   free     = 15204352 (14.5MB)
   0.0% used
To Space:
   capacity = 15204352 (14.5MB)
   used     = 0 (0.0MB)
   free     = 15204352 (14.5MB)
   0.0% used
PS Old Generation
   capacity = 1431830528 (1365.5MB)
   used     = 56643848 (54.01978302001953MB)
   free     = 1375186680 (1311.4802169799805MB)
   3.956044161114576% used

-histo[:live]
e.g. jmap -histo:live pid | head -20

打印堆的直方图。

对于每个Java类,将打印对象数量、内存大小(以字节为单位)和完全限定类名。

VM内部类名以''前缀打印,即打印出来的类名前带的是VM的内部类。

如果指定了live子选项,则只统计活动对象。

 num     #instances         #bytes  class name
----------------------------------------------
   1:        121998       15572640  [C
   2:          5456        4763856  [B
   3:         37391        3290408  java.lang.reflect.Method
   4:        102825        3290400  java.util.concurrent.ConcurrentHashMap$Node
   5:         25700        3203200  [Ljava.lang.Object;
   6:        120358        2888592  java.lang.String
   7:         16370        1820704  java.lang.Class

jmap -dump:live,format=b,file=/xxx/xx/x/dump.log

导出堆转储文件,可用于离线分析(但如果内存太大,可能会整个线程挂起,卡住动不了了)




参考:
https://zhuanlan.zhihu.com/p/475571429

标签:used,MB,打印,命令,live,详情,jmap,内存
From: https://www.cnblogs.com/aaacarrot/p/17378461.html

相关文章

  • ICT实战系统集成-LAB2-openEuler 命令行基础操作入门
    ICT实战系统集成-实验02-openEuler命令行基础操作入门1思考题1.1创建一个/iamthebest目录;1.2在/iamthebest目录下创建/cat和/dog两个目录;1.3将/etc/passwd文件复制到/iamthebest目录;并查看被复制文件的操作权限;1.4尝试执行cp-i/etc/passwd.你会发现什么?为什么......
  • java内存监控工具及命令
    关键字:内存监控工具及命令一篇非常好的内存监控知识,分享给爱学习的亲们.....jinfo:可以输出并修改运行时的java进程的opts。jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。jstat:一个极强的监视VM......
  • MySQL备份命令帮助手册
    借助于mysqldump命令可以进行数据库的备份。用法:mysqldump[OPTIONS]database[tables]或:mysqldump[OPTIONS]--databases[OPTIONS]DB1[DB2DB3...]或:mysqldump[OPTIONS]--all-databases[OPTIONS]OPTIONS:OPTION默认描述-A,--all-databasesFALSE备份......
  • win11 C盘的配置文件无法编辑 一个命令就好
    在配置win11的服务时,不小时安装在了C盘。而win11对C盘的文件编辑有严格限制。你要注册在线账户设为管理员才能编辑。除了这种方法,还怎么编辑呢?简单的哩,cmd以管理员身份运行。这个会吧。然后在cmd里进到你需要编辑的目录,如下面我要弄这个。mongoDB的配置文件,在命令下使用notepa......
  • Java获取pdd详情api接口、商品详情、商品描述、宝贝链接获取展示示例
    ​拼多多商品详情就是对拼多多商城中的宝贝的描述了,消费者们在进入到宝贝的详情页面后,可以通过这些描述去了解该款宝贝。其实这样也可以大大的增加商品的转化率。那么它的作用有什么呢?1.突出商品卖点:把商品的特色和突出点写表现出来,很更好的吸引到顾客,让顾客有点击和购买的欲......
  • ubuntu一些命令
    一、root相关sudopasswdroot修改root的密码suroot 使用最高权限 二、文件操作相关到指定目录cd  创建文件目录mkdir删除文件rm解压与压缩文件:tar相关参数C–创建压缩文件x–解......
  • 6-解决Tomcat服务器在DOS命令窗口中的乱码问题(控制台乱码)
    1.Tomcat乱码Tomcat刚启动时的样子,很明显乱码了2.解决Tomcat乱码将CATALINA_HOME/conf/logging.properties文件中的内容修改如下:java.util.logging.ConsoleHandler.encoding=GBK下一步修改成功,演示:......
  • 查看Linux系统版本内核命令大全
    目录命令一:查看当前系统发行版本详细信息命令二:查看当前系统内核信息命令三:查看当前系统版本信息命令四:查看CPU相关信息命令五:查看系统位数Linux系统内核、发行版本有很多,那么如何查看当前Linux系统的内核信息、Linux系统发行版本等信息呢?Linux百科网分享查询Linux系统详细信息的方......
  • Nmap命令的29个实用范例
    Nmap命令的29个实用范例-曾是土木人Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具。Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口。它会扫描远程在线主机,该主机的操作系统,包过滤器命令详解-马昌伟即网络映射器对Linux系统/网络......
  • Winserver 哪吒面板启动命令
    下载,并放在C盘nezha文件夹下"https://github.com/naiba/nezha/releases/download/v0.14.11/nezha-agent_windows_amd64.zip""https://github.com/nezhahq/nssm-backup/releases/download/v2.24/nssm.zip"在Poswershell中执行[Net.ServicePointManager]::SecurityProto......