Heap Allocation Profiles (heap=sites)
基于JDK-6,使用的类不同,展示的信息可能不同,内容一样的
javac -J-agentlib:hprof=heap=sites Hello.java
percent live alloc’ed stack class
rank self accum bytes objs bytes objs trace name
44.13% 44.13% java.util.zip.ZipEntry
8.83% 52.95% com.sun.tools.javac.util.List
5.18% 58.13% byte[]
5.18% 63.31% com.sun.tools.javac.util.Name[]
上面显示的一个重要的信息是,总空间44.%分配给了java.util.zip.ZipEntry objects. 看trace为301926的信息
TRACE :
java.util.zip.ZipEntry.<init>(ZipEntry.java:)
java.util.zip.ZipFile+.nextElement(ZipFile.java:)
com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:)
com.sun.tools.javac.jvm.ClassReader.list(ClassReader.java:)
TRACE :
com.sun.tools.javac.util.List.<init>(List.java:)
com.sun.tools.javac.util.List.<init>(List.java:)
com.sun.tools.javac.util.ListBuffer.append(ListBuffer.java:)
com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:)
TRACE :
com.sun.tools.javac.util.Name$Table.<init>(Name.java:)
com.sun.tools.javac.util.Name$Table.<init>(Name.java:)
com.sun.tools.javac.util.Name$Table.make(Name.java:)
com.sun.tools.javac.util.Name$Table.instance(Name.java:)
TRACE :
com.sun.tools.javac.util.Name$Table.<init>(Name.java:)
com.sun.tools.javac.util.Name$Table.<init>(Name.java:)
com.sun.tools.javac.util.Name$Table.make(Name.java:)
com.sun.tools.javac.util.Name$Table.instance(Name.java:)
每一个栈帧信息包含类名字,方法名字,源文件名,行编号.可以通过设置HPROF agent里面的栈帧深度来控制最大帧数.
默认是4.栈帧不仅仅指示指示出执行空间开辟的方法,同样也指出负责内容开辟的方法.
Heap Allocation Profiles (heap=sites)的更多相关文章
- Android内存管理(9)*MAT:Heap Dump,Shallow Heap,Retained Heap,Dominating Tree,GC Roots等的含义
原文: http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Fconcepts%2Fheapdump.ht ...
- Shallow Heap 和 Retained Heap的区别
http://blog.csdn.net/a740169405/article/details/53610689 Shallow Heap 和 Retained Heap的区别 https://i.c ...
- Google 面试题:Java实现用最大堆和最小堆查找中位数 Find median with min heap and max heap in Java
Google面试题 股市上一个股票的价格从开市开始是不停的变化的,需要开发一个系统,给定一个股票,它能实时显示从开市到当前时间的这个股票的价格的中位数(中值). SOLUTION 1: 1.维持两个h ...
- Setting Tomcat Heap Size (JVM Heap) in Eclipse
this article picked from:http://viralpatel.net/blogs/setting-tomcat-heap-size-jvm-heap-eclipse/ Rece ...
- Memory Analyzer tool(MAT)分析内存泄漏---理解Retained Heap、Shallow Heap、GC Root
Shallow Heap Size 指对象自身所占用的内存大小,不包含其引用的对象所占的内存大小. 1.数组类型 数组元素对象所占内存的大小总和. 2.非数组类型 对象与它所有的成员变量大小的总和.当 ...
- java 中Shallow Heap与Retained Heap的区别
Shallow Size Shallow Size是对象本身占据的内存的大小,不包含其引用的对象.对于常规对象(非数组)的Shallow Size由其成员变量的数量和类型来定,而数组的ShallowS ...
- PAT Advanced 1098 Insertion or Heap Sort (25) [heap sort(堆排序)]
题目 According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and ...
- troubleshooting tools in JDK 7--转载
This chapter describes in detail the troubleshooting tools that are available in JDK 7. In addition, ...
- hprof教程
大部分内容参考http://www.linuxidc.com/Linux/2012-04/58178.htm J2SE中提供了一个简单的命令行工具来对java程序的cpu和heap进行 profili ...
随机推荐
- 看图写代码---看图写代码 阅读<<Audio/Video Connectivity Solutions for Virtex-II Pro and Virtex-4 FPGAs >>
看图写代码 阅读<<Audio/Video Connectivity Solutions for Virtex-II Pro and Virtex-4 FPGAs >> 1.S ...
- [Android] Surface、SurfaceHolder与SurfaceView
其实相当于MVC结构的三者关系:M(Surface).V(SurfaceView).C(SurfaceHolder) 1.Surface Handle onto a raw buffer that i ...
- [蓝桥杯]ALGO-15.算法训练_旅行家的预算
问题描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1.汽车油箱的容量C(以升为单位).每升汽油能行驶的距离D2.出发点每升汽油价格P和沿 ...
- 【mysql】linux查看mysql配置文件my.conf
mysql --help|grep 'my.cnf' /etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.my.cnf 这些就是mysq ...
- googletest--Test Fixture
前面博客中我们在单元测试之前会做一些变量初始化等工作,而同一个testcase的不同test之间往往会有一些初始化工作是相同的.我们不想做多余的重复的工作,当然同时也不想设置全局变量. 这个时候我们可 ...
- elasticsearch 5.1 别的机器无法访问9200端口
版权声明:作者:jiankunking 出处:http://blog.csdn.net/jiankunking 本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显 ...
- 【问题解决】docker中创建volume时,无访问权限
挂载宿主机已存在目录后,在容器内对其进行操作,报"Permission denied". 可通过两种方式解决: 1> 关闭selinux. 临时关闭:# setenforce ...
- openssl命令实例
基本知识 1,证书标准 X.509 X.509 - 这是一种证书标准,主要定义了证书中应该包含哪些内容.其详情可以参考RFC5280,SSL使用的就是这种证书标准. X.509的证书文件,一般以.cr ...
- 第一篇Docker博文
Docker组件 Docker引擎 Docker是一个客户端/服务器(C/S)架构的程序.Docker客户端只需向Docker服务器或叫守护进程发出请求,服务器将完成所有工作并返回结果. Docker ...
- 指定分隔符连接数组元素join()
join()方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. 语法: arrayObject.join(分隔符) 参数说明: 注意:返回一个字符串,该字符串把数组中的各个元 ...