jmap这些工具是jdk自带的调试工具,安装完之后位于bin目录下,例如:/usr/java/jdk1.7.0_67/bin/

jmap用来查看堆内存使用状况,一般结合jhat使用。

1.jmap语法格式如下:

jmap [option] pid
jmap [option] executable core
jmap [option] [server-id@]remote-hostname-or-ip

如果运行在64位JVM上,可能需要指定-J-d64命令选项参数。
jmap -permstat pid

打印进程的类加载器和类加载器加载的持久代对象信息,输出:类加载器名称、对象是否存活(不可靠)、对象地址、父类加载器、已加载的类大小等信息

[root@bogon usr]# jmap -permstat 10424
Attaching to process ID 10424, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.60-b09
finding class loader instances ..done.
computing per loader stat ..done.
please wait.. computing liveness........................done.
class_loader classes bytes parent_loader alive? type

<bootstrap> 1493 6084856  null   live <internal>
0xa18d1590 1229 6218584 0xa18d15e0 live sun/misc/Launcher$AppClassLoader@0x70f65b98
0xa1a77c00 0 0 0xa18d1590 live com/alibaba/fastjson/util/ASMClassLoader@0x712b4aa8
0xa18d15e0 0 0  null   live sun/misc/Launcher$ExtClassLoader@0x70f27d38
0xa1aed110 0 0 0xa18d1590 live java/util/ResourceBundle$RBClassLoader@0x7120e368

2.导出到文件:

jmap -dump:format=b,file=/usr/test33.bin  10424

3.直接显示

jmap -histo 10424

num     #instances         #bytes  class name
----------------------------------------------
   1:         34301        8999856  [B
   2:         30979        3689456  <constMethodKlass>
   3:         39666        3590512  [C
   4:           915        3165600  [I
   5:         30979        2731984  <methodKlass>
   6:          2441        1457456  <constantPoolKlass>
   7:          2441         995568  <instanceKlassKlass>
   8:          2146         852496  <constantPoolCacheKlass>
   9:         26281         630744  java.lang.String
  10:          2660         323400  java.lang.Class
  11:          4025         244360  [S
  12:          4870         233760  java.nio.HeapByteBuffer
  13:          4721         226608  java.nio.HeapCharBuffer
  14:          3150         223296  [Ljava.lang.Object;
  15:          8468         203232  java.util.HashMap$Entry
  16:          3961         202624  [[I

17:          4322         165752  [[B

这里:

  • [C is a char[]
  • [S is a short[]
  • [I is a int[]
  • [B is a byte[]
  • [[I is a int[][]

constMethodKlass/ methodKlass/ constantPoolKlass/ constantPoolCacheKlass/ instanceKlassKlass/ methodDataKlass

与Classloader相关,常驻Perm区。

jmap简单实用示例相关推荐

  1. python fileinput模块next_Python中的fileinput模块的简单实用示例

    这几天有这样一个需求,要将用户登陆系统的信息统计出来,做成一个报表.当用户登陆成功的时候,服务器会往日志文件里写一条像下面这种格式的记录:"日期时间@用户名@IP",这样的日志文件 ...

  2. ajax 示例代码,Ajax的简单实用实例代码

    我将实现一个简单的Ajax页面无刷新进行用户验证案例: 效果如下图: 实现主要过程: 在UsersAction类中的checkUser方法中接收并验证前台的表单数据,针对不同情况,返回一个状态码cod ...

  3. Java注解的基本概念和原理及其简单实用

      一.注解的基本概念和原理及其简单实用 注解(Annotation)提供了一种安全的类似注释的机制,为我们在代码中添加信息提供了一种形式化得方法,使我们可以在稍后某个时刻方便的使用这些数据(通过解析 ...

  4. 经验分享:10个简单实用的 jQuery 代码片段

    尽管各种 JavaScirpt 框架和库层出不穷,jQuery 仍然是 Web 前端开发中最常用的工具库.今天,向大家分享我觉得在网站开发中10个简单实用的 jQuery 代码片段. 您可能感兴趣的相 ...

  5. 16个简单实用的.htaccess技巧

    16个简单实用的.htaccess技巧   .htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有 ...

  6. Android简单实用的交互动画库

    简单实用的Android交互动画库SpringingLayout 一直以来我都对Android界面效果和交互动画特别的着迷,而且每次做工程都需要重写一大堆的组件,动画,感觉颇为繁杂,于是趁着有空闲做了 ...

  7. 利用itchat搭建微信机器人详解(附三个实用示例)

    本文简介 好久没更新文章啦,因为最近在赶一本Py的入门书,碰巧今天把这篇文章赶出来了. 而很多加群的小朋友很多都是咨询如何搭建微信机器人的,所以就把这一章放出来了, 取需,三个实用示例:定时发信息,集 ...

  8. 创建角色和ansible-galaxy简单实用

    创建角色和ansible-galaxy简单实用 1.创建角色 1.1 创建步骤 在Ansible中创建角色不需要特别的开发工具.创建和使用角色包含三个步骤: 创建角色目录结构 定义角色内容 在play ...

  9. php调色板快捷键,Linux_制作简单实用的调色板工具,把如下代码加入body区域 - phpStudy...

    制作简单实用的调色板工具 把如下代码加入 区域中: 红 绿 蓝 灰 function hexit(which) hexit=hex(which) end function for(i=0;i<= ...

最新文章

  1. 使用YOLOv5模型进行目标检测!
  2. spring的jar各包作用
  3. [转]ASP.NET效率陷阱——Attributes
  4. 给Ubuntu添加清华的软件源
  5. 喜报 | 链家签约神策数据,让数据“说话”更精准
  6. Linux CentOS 7下 Apache Tomcat 7 安装与配置
  7. 数据库增删改查性能对比
  8. spring4.0之二:@Configuration的使用
  9. Angular之组件的创建
  10. 程序员如何自我超越,教你一招
  11. ASP.NET页面传值的各种方法和分析
  12. model.train()和model.eval()
  13. 矩阵维度必须一致是什么意思_糖化肌肤是什么意思?抗糖养肤你必须知道这些...
  14. C#程序打包安装部署之创建快捷方式
  15. centos npm install 超时报错
  16. 全国计算机信息安全技术
  17. 计算机械零件体积,第三章机械零件的工作能力和计算准则.docx
  18. 粒子群在小车机械手臂的应用
  19. 数字中国城市巡礼之杭州,让城市长出“神经系统”
  20. 电脑太卡之NT kernel System

热门文章

  1. Nginx代理介绍、安装及配置详解
  2. 广告拦截之easylist和easylistchina订阅地址
  3. JAVA :RESTLET开发实例(一)基于JAX-RS的REST服务
  4. icmp时间戳请求和应答程序实现_ICMP报文详解之ping实现
  5. postgresql 创建用户_PostgreSQL创建用户和修改用户密码
  6. java标识符和关键字相关概念
  7. mysql doen s exist_Mysql中大小写敏感问题导致的MySql Error 1146 Tabel doen’t exist错误
  8. linux变量存储命令,如何将命令存储在shell脚本中的变量中?
  9. cad vba 打开文件对话框_CAD每次打开系统都会新建一个Acad.vlx文件,如何解决呢?...
  10. python socket 游戏_python socket模拟游戏开服