当前位置:网站首页 > 技术博客 > 正文

jmap查看内存



jmap命令有下面几种常用的用法:

•jmap [pid]

•jmap -histo:live [pid] >a.log

•jmap -dump:live,format=b,file=xxx.xxx [pid]

用得最多是后面两个。其中,jmap -histo:live [pid] 可以查看当前Java进程创建的活跃对象数目和占用内存大小。

jmap -dump:live,format=b,file=xxx.xxx [pid] 则可以将当前Java进程的内存占用情况导出来,方便用专门的内存分析工具(例如:MAT)来分析。

利用Eclipse Memory Analyzer Tool(MAT)打开heapt18162.bin文件:

下载地址:https://eclipse.org/mat/downloads.php

更多文章:https://www.javatang.com/archives/2017/10/30/53562102.html

https://blog.csdn.net/a/article/details/

https://blog.csdn.net/lkp/article/details/?locationNum=9&fps=1


jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为heapdump或dump文件)。
如果不使用jmap命令,要想获取Java堆转储快照,还有一些比较“暴力”的手段:如-XX:+HeapDumpOnOutOfMemoryError参数,可以让虚拟机在OOM异常出现之后自动生成dump文件,通过-XX:+HeapDumpOnCtrlBreak参数则可以使用[Ctrl]+[Break]键让虚拟机生成dump文件,又或者在Linux系统下通过Kill -3命令发送进程退出信号“吓唬”一下虚拟机,也能拿到dump文件。
jmap的作用并不仅仅是为了获取dump文件,它还可以查询finalize执行队列、Java堆和永久代的详细信息,如空间使用率、当前用的是哪种收集器等。
jmap有不少功能在Windows平台下都是受限的,除了生成dump文件的-dump选项和用于查看每个类的实例、空间占用统计的-histo选项在所有操作系统都提供之外,其余选项都只能在Linux/Solaris下使用。
jmap命令格式:

option选项的合法值与具体含义见表4-4。

表4-4 jmap工具主要选项

文章来源:深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)4.2.4 jmap:Java内存映像工具


版权声明


相关文章:

  • 最大似然估计计算公式2025-04-22 08:01:01
  • linux edid2025-04-22 08:01:01
  • oracle 索引2025-04-22 08:01:01
  • 路由交换技术详解与实践 第3卷2025-04-22 08:01:01
  • stm32开发需要学什么2025-04-22 08:01:01
  • xdisplay好用吗2025-04-22 08:01:01
  • 函数已有主体是什么意思2025-04-22 08:01:01
  • ldconfig ld_library_path2025-04-22 08:01:01
  • html制作表单代码2025-04-22 08:01:01
  • java程序设计之网络编程2025-04-22 08:01:01