jmap -histo pid 输出的[C [B [I [S methodKlass constantPoolKlass含义

2014年01月16日 11:00:12 lxb_champagne 阅读数:23002
 

JMAP 输出

[hadoop@DEV logs]$ jmap -histo 24527 | head -30

 num     #instances         #bytes  class name
----------------------------------------------
1: 31939 98883072 [C
2: 8594 9461992 [B
3: 30326 4256232 <constMethodKlass>
4: 30326 3892592 <methodKlass>
5: 2719 3226344 <constantPoolKlass>
6: 2450 1948704 <constantPoolCacheKlass>
7: 2719 1869200 <instanceKlassKlass>
8: 27599 662376 java.lang.String
9: 836 442968 <methodDataKlass>
10: 8215 394320 org.apache.tomcat.util.buf.ByteChunk
11: 3012 366720 java.lang.Class
12: 11257 360224 java.util.HashMap$Entry
13: 3417 273360 java.lang.reflect.Method
14: 6763 270520 java.util.TreeMap$Entry
15: 4326 260720 [S
16: 5410 259680 org.apache.tomcat.util.buf.MessageBytes
17: 6410 256400 org.apache.tomcat.util.buf.CharChunk
18: 4558 238352 [[I
19: 3347 211512 [Ljava.lang.Object;
20: 2144 189280 [I
21: 276 147936 <objArrayKlassKlass>
22: 948 142216 [Ljava.util.HashMap$Entry;
23: 2874 137952 java.util.HashMap
24: 621 89424 java.text.DecimalFormat
25: 2555 81760 java.util.concurrent.ConcurrentHashMap$HashEntry
26: 620 69440 java.util.GregorianCalendar
27: 1052 68936 [Ljava.lang.String;

其中:

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

上面的输出中[C对象占用Heap这么多,往往跟String有关,String其内部使用final char[]数组来保存数据的。

constMethodKlass/ methodKlass/ constantPoolKlass/ constantPoolCacheKlass/ instanceKlassKlass/ methodDataKlass

与Classloader相关,常驻与Perm区。

转自: https://blog.csdn.net/lxb_champagne/article/details/18352945

jmap -histo pid 输出的[C [B [I [S methodKlass constantPoolKlass含义的更多相关文章

  1. jmap -histo pid 输出的[C [B [I [S methodKlass的含义

    转载于https://yq.aliyun.com/articles/43542 摘要: jmap -histo pid 输出结果样式  num     #instances         #byte ...

  2. jmap -histo pid 输出的[C [B [I [S 的含义

    JMAP 输出 其中: [C is a char[][S is a short[][I is a int[][B is a byte[][[I is a int[][]

  3. jmap命令详解(转)

    1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其 ...

  4. jmap命令(Java Memory Map)(转)

    JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status To ...

  5. jmap,jhat分析内存

    分析JAVA Application的内存使用时,jmap是一个很实用的轻量级工具.使用jmap可以查看heap空间的概要情况,粗略的掌握heap的使用情况.也可以生成heapdump文件,再使用jh ...

  6. jmap命令详解

    1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其 ...

  7. jstack(查看线程)、jmap(查看内存)和jstat(性能分析)

    公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令.供大家参考 1.Jstack 1.1 ...

  8. jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

    jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令   公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jma ...

  9. JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解

    Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有'对象'的情况(如:产生那些对象,及其数量). 使用方法 ...

随机推荐

  1. TypeScript|Angular踩坑笔记

    今天按照Angular官网玩了下demo程序,踩了个小坑,记录下. TypeScript可以将变量申明为自定义类型,同时也不对该类型进行检查(不像C#,如果没有这个类型会报错) 比如下面这样: 如果我 ...

  2. 【大数据安全】Kerberos集群安装配置

    1. 概述 Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份.它也指由麻省理工实现此协议,并发布的一套免费软件.它的设计主要针对 ...

  3. Linux 命令行

    Linux 命令笔记 一.目录/文件 1.1 目录文件日常操作 . -> 当前目录 .. -> 上一级目录 .file/.dir -> 隐藏文件/文件夹 [ls] 查看指定目录文件 ...

  4. Hibernate框架笔记02_主键生成策略_一级缓存_事务管理

    目录 0. 结构图 1. 持久化类的编写规则 1.1 持久化和持久化类 1.2 持久化类的编写规则 2. 主键生成策略 2.1 主键的分类 2.2 主键生成策略 3. 持久化类的三种状态[了解] 3. ...

  5. js转换时间戳-转换成 yyyy-MM-dd HH:mm:ss

    比如:转换成 yyyy-MM-dd HH:mm:ss //时间戳转换方法 date:时间戳数字 function formatDate(date) { var date = new Date(date ...

  6. Spring RestTemplate详解

    Spring RestTemplate详解   1.什么是REST? REST(RepresentationalState Transfer)是Roy Fielding 提出的一个描述互联系统架构风格 ...

  7. Android Studio教程11-RecycleView的使用

    目录 1. RecyclerView 1.1. Add support library 1.2. 将RecyclerView添加到布局 1.3. 主actiivty中如何调用recycleview对象 ...

  8. 使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误

    首先大概说明一下问题出现的背景:我用PDF.JS实现文件在线预览,参考网上的办法,在jsp文件中使用 <iframe src="<c:url value="js/gen ...

  9. 数据库微信特殊表情编码django设置

    #settings.py DATABASES = { 'default': { 'OPTIONS': { "init_command":"SET foreign_key_ ...

  10. eclipse下解决明明有jar包,却找不到的问题

    首先右键提示缺失jar包的项目,也可能是缺失maven依赖的项目. 右键选择properties. 选择deployment assembly. 将缺少依赖的jar包,add进去.