介绍

打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。它的用途是为了展示java进程的内存映射信息,或者堆内存详情。

可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。

jmap命令:

jmap [option]

(to connect to running process) 连接到正在运行的进程

jmap [option]

(to connect to a core file) 连接到核心文件

jmap [option] [server_id@]

(to connect to remote debug server) 连接到远程调试服务

参数说明

pid: 目标进程的PID,进程编号,可以采用ps -ef | grep java 查看java进程的PID;

executable: 产生core dump的java可执行程序;

core: 将被打印信息的core dump文件;

remote-hostname-or-IP: 远程debug服务的主机名或ip;

server-id: 唯一id,假如一台主机上多个远程debug服务;

如果使用不带选项参数的jmap打印共享对象映射,将会打印目标虚拟机中加载的每个共享对象的起始地址、映射大小以及共享对象文件的路径全称。

option参数使用

-finalizerinfo 打印正等候回收的对象的信息.

-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况.

-histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.

-permstat 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来.

-F 强迫.在pid没有响应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效.

-h | -help 打印辅助信息

-J 传递参数给jmap启动的jvm.

简单例子说明

通过jmap -dump:format=b,file=jmap.txt 26937将日志文件打印到文本中,可以看到当前目录下多了一个日志文件

利用MemoryAnalyzer软件打开日志文件,即可看到相关信息。如图所示

MemoryAnalyzer软件的使用说明请自行查阅

java jmap jc_利用jmap命令查看JVM内存使用详情相关推荐

  1. java命令查看jvm内存

    JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jstack.jmap.jhat.jstat等小巧的工具,本博客希望能起抛砖引玉之用,让 ...

  2. jmap java opts_jmap --查看JVM内存使用详情

    概述 命令jmap是一个多功能的命令.它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息.查看 ClassLoader 的信息以及 finalizer 队列. jmap命 ...

  3. java $1参数_jmap命令详解----查看JVM内存使用详情

    linux获取java进程PID: https://www.cnblogs.com/sxdcgaq8080/p/10734752.html 如果命令使用过程中报错,可能解决你问题的方案: https: ...

  4. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息

    java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...

  5. linux查看jvm参数命令,通过命令查看jvm参数

    4.1 查看堆详细信息:jmap -heap pid 4.2 查看当前堆中对象统计信息: jmap -histo pid 4.3 jmap -dump:format=b,file=dumpFileNa ...

  6. stat命令查看jvm的GC状况

    jstat命令查看jvm的GC状况 (以Linux为例) jstat命令能够查看堆内存各部分的使用量,以及加载类的数量.命令的格式以下:java jstat [-命令选项] [vmid] [间隔时间/ ...

  7. 利用adb命令查看apk文件包名的一些方法

    利用adb命令查看apk文件包名的一些方法 前提是已经下载android SDK并配好环境变量! 在控制台输入命令$adb shell pm 可以看到adb shell pm的相关用法,详细信息请自己 ...

  8. 解析IOS控制台利用GDB命令查看报错堆栈

    解析IOS控制台利用GDB命令查看报错堆栈是本文要介绍的内容,在ios开发中,如果提前释放一个指针的内存,在以后还继续使用这个指针,那么程序会立刻crash掉,而且很难有报错信息,我以前都是靠猜测去判 ...

  9. java 内存情况_java查看jvm内存使用情况

    java查看jvm内存使用情况 (2012-03-22 15:50:54) 标签: jvm 内存 虚拟机 分配 it java.lang.Runtime类提供了查看当前JVM内存的使用情况.每个jav ...

最新文章

  1. 通过loganalyzer展示数据库中的日志
  2. 【408预推免复习】操作系统之文件管理
  3. Html标签带来的安全隐患
  4. CMM中18个KPA
  5. linux修改windows注册表,妙招:让修改的注册表立即生效的几种方法
  6. 计算机网络考试难吗,网络教育统考中的计算机考试难不难,
  7. 正则表达式在python中的应用_正则表达式:Python3中的应用简介
  8. OpenCV每日函数 对象追踪模块 Meanshift算法
  9. 【Frobenius norm(弗罗贝尼乌斯-范数)(F-范数)】
  10. 解决微信公众平台IP白名单
  11. Android开发——“adb”不是内部或外部命令,也不是可运行的程序或批处理文件——解决方案
  12. 【01】什么是概率图模型?
  13. 拆解了20个企业微信社群的我, 发现【社群营销】最好的方法应该是这样!
  14. python几行代码实现邮件解析
  15. VMware Workstation Pro 16下载地址及key
  16. [已解决] 输入信号超出范围,调整为1600x900@60Hz
  17. 网站开发:从写代码到公网访问整个流程(CSDN征文活动第一期获奖文章)
  18. 主流商业智能(BI)工具的比较(三):Qlik与Domo
  19. 火鸟Firebird数据库的中文参考资料
  20. fflush(stdin)和fflush(stdout)

热门文章

  1. 8种常见SQL错误用法,你犯过几个?
  2. 不同网段通过静态路由实现互通(强烈推荐)
  3. ELK开机自启动脚本
  4. Python3实现从txt文件中读取指定行的方法
  5. linux清除cpu,解决kswapd0 CPU占用率高的问题-清除病毒
  6. word中如何对公式插入题注和引用
  7. 把关与服务的关系_泉州代做投标书-电子标书值得信赖 - 泉州广告服务
  8. html前端页面的基本骨架是,web前端入门到实战:css实现的骨架屏方案
  9. Mysql无法创建外键的原因汇总_查看MySQL创建外键约束失败详细原因的方法
  10. c语言malloc用法 数组,详解C语言用malloc函数申请二维动态数组的实例