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

jmap [pid]

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

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

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

 

jmap查看各个代的内存使用

jmap 可以从 core dump文件或进程中获得内存的具体匹配情况,包括 Heap size, Perm size等等。

jmap命令格式:

jmap [ option ] <pid> | <executable core> | <[server-id@]remote-hostname-or-IP>

1)参数说明

pid:java进程 id

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

core:core dump文件

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

server-id:远程 debug服务的 id

2) option参数:

-heap

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

-histo[:live]

打印jvm heap 的直方图。输出类名、每个类的实例数目、对象占用大小。 VM的内部类名字开头会加上前缀 ”*”.

如果加上live 则只统计活的对象数量。

-dump:[live,]format=b,file=<filename>

使用hprof二进制形式,导出heap 内容到文件filename。

假如指定live 选项,那么只输出活的对象到文件 .

hprof二进制可用jhat命令查看,

jhat是sun 1.6及以上版本中自带的一个用于分析JVM 堆DUMP 文件的工具,基于此工具可分析JVM HEAP 中对象的内存占用情况

一般情况下,我们都会配置上-XX:+HeapDumpOnOutOfMemoryError,

然后使用MAT工具去分析(Memory Analyzer Tool ),MAT使用很简单。

-clstats

打印classload 和jvm heap 持久代的信息。

包含每个classloader 的名字、是否存活、地址、父 classloade、加载的 class数量、内部 String的数量和占用内存数。

使用 jmap -heap pid ,可以查看各个代的内存使用情况,如:New Generation(Eden Space,From Space,To Space),tenured generation,Perm Generation的内存使用情况。

jmap -dump:format=b,file=heapdump.hprof <pid> ,导出heap dump到文件heapdump.hprof

最新文章

  1. [环境搭建] VS-Visual Studio-IIS Express 支持局域网访问
  2. phalcon: 多模块多表查找,多表sql
  3. [讨论] 这几天来封装Win7用户配置文件丢失的解决方法个人心得
  4. Android ThreadUtil 线程公共类,判断是否在主线程/ 子线程执行 相关操作
  5. dictionary 添加数据
  6. 转:Python 的 Socket 编程教程
  7. 用NSOperation和NSOperationQueue实现多线程编程
  8. hdu 4655 Cut Pieces
  9. 深入super,看Python如何解决钻石继承难题
  10. 指针参数的传递(节选 C++/C 高质量编程 林锐)
  11. [SOJ]连通性问题
  12. IAR for STM8 错误
  13. [SDOI 2012]Longge的问题
  14. Gradle 1.12翻译——第二十章. 构建环境
  15. javascript语法之with语句
  16. 关于多条数据转为json格式单次传输的问题 2017.05.27
  17. tp5 修改默认的分页url
  18. [python]使用virtualenvWrapper
  19. GIT 分支管理:多人协作
  20. (转).Net中自定义类作为Dictionary的key详解

热门文章

  1. I-O流概念认知升级
  2. hexo多主题切换
  3. IronPython之基本类型
  4. Python学习系列(二)(基础知识)
  5. HTTP协议-简介
  6. php小白和菜鸟 上班路上可以看的修行博客
  7. [三卷天书]记一个asp.net生成两个日期范围内生成随机时间的方法
  8. windows抓包工具Wireshark(过滤)
  9. Ajax 请求session过期的统一处理
  10. 如何在windows7中使用“专用字符编辑器”中的字