1. jmap -heap pid
查看java 堆(heap)使用情况
using thread-local object allocation.
Parallel GC with 4 thread(s) //GC 方式 Heap Configuration: //堆内存初始化配置
MinHeapFreeRatio=40 //对应jvm启动参数-XX:MinHeapFreeRatio设置JVM堆最小空闲比率(default 40)
MaxHeapFreeRatio=70 //对应jvm启动参数 -XX:MaxHeapFreeRatio设置JVM堆最大空闲比率(default 70)
MaxHeapSize=512.0MB //对应jvm启动参数-XX:MaxHeapSize=设置JVM堆的最大大小
NewSize = 1.0MB //对应jvm启动参数-XX:NewSize=设置JVM堆的‘新生代’的默认大小
MaxNewSize =4095MB //对应jvm启动参数-XX:MaxNewSize=设置JVM堆的‘新生代’的最大大小
OldSize = 4.0MB //对应jvm启动参数-XX:OldSize=<value>:设置JVM堆的‘老生代’的大小
NewRatio = 8 //对应jvm启动参数-XX:NewRatio=:‘新生代’和‘老生代’的大小比率
SurvivorRatio = 8 //对应jvm启动参数-XX:SurvivorRatio=设置年轻代中Eden区与Survivor区的大小比值
PermSize= 16.0MB //对应jvm启动参数-XX:PermSize=<value>:设置JVM堆的‘永生代’的初始大小
MaxPermSize=64.0MB //对应jvm启动参数-XX:MaxPermSize=<value>:设置JVM堆的‘永生代’的最大大小
Heap Usage: //堆内存分步
PS Young Generation
Eden Space: //Eden区内存分布
capacity = 20381696 (19.4375MB) //Eden区总容量
used = 20370032 (19.426376342773438MB) //Eden区已使用
free = 11664 (0.0111236572265625MB) //Eden区剩余容量
99.94277218147106% used //Eden区使用比率
From Space: //其中一个Survivor区的内存分布
capacity = 8519680 (8.125MB)
used = 32768 (0.03125MB)
free = 8486912 (8.09375MB)
0.38461538461538464% used
To Space: //另一个Survivor区的内存分布
capacity = 9306112 (8.875MB)
used = 0 (0.0MB)
free = 9306112 (8.875MB)
0.0% used
PS Old Generation //当前的Old区内存分布
capacity = 366280704 (349.3125MB)
used = 322179848 (307.25464630126953MB)
free = 44100856 (42.05785369873047MB)
87.95982001825573% used
PS Perm Generation //当前的 “永生代” 内存分布
capacity = 32243712 (30.75MB)
used = 28918584 (27.57891082763672MB)
free = 3325128 (3.1710891723632812MB)
89.68751488662348% used
2. jmap -histo pid
查看堆内存(histogram)中的对象数量,大小
num #instances #bytes class name
序号 实例个数 字节数 类名
----------------------------------------------
1: 3174877 107858256 [C
2: 3171499 76115976 java.lang.String
3: 1397884 38122240 [B
4: 214690 37785440 com.tongli.book.form.Book
5: 107345 18892720 com.tongli.book.form.Book
6: 65645 13953440 [Ljava.lang.Object;
7: 59627 7648416 <constMethodKlass>
8: 291852 7004448 java.util.HashMap$Entry
9: 107349 6871176 [[B
..........
total 9150732 353969416
3. jmap - dump pid
将内存使用的详细情况输出到文件
jmap -dump:format=b,file=m.datpid
用jhat命令可以参看 jhat -port 5000 m.dat
在浏览器中访问:http://localhost:5000/ 查看详细信息
sun 官方文档 http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html
class name对应的就是Class文件里的class的标识
B代表byte
C代表char
D代表double
F代表float
I代表int
J代表long
Z代表boolean
前边有[代表数组,[I 就相当于int[]
对象用[L+类名表示
相关推荐
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx
Kubernetes应用java程序无法使用jmap,jstack的解决方案.docx
jmap jstat等命令介绍,如何监控tomcat内存使用情况的资料
本篇文章主要通过代码实例对java自带命令行工具jmap、jhat与jinfo的使用做出了详解,需要的朋友可以参考下
JVM、GC详解及调优,JVM、GC详解及调优,JVM、GC详解及调优
jmap-perl 是 JMAP 代理服务器的 Perl 实现,Perl JMAP 后端可以与 IMAP 和 SMTP 服务器通许,允许在邮件系统上替换 JMAP 接口。为了高效,初始化实现要求所有服务器支持 CONDSTORE 扩展(RFC4551/FRC7162)。提供一个...
java使用JMAP定位代码内存泄漏
jmap 内存分析可视化工具,无须破解,解压即用。小编亲测。
与内存相关的性能问题和故障时Java应用程序经常要面对的,jmap命令提供了直观的方式帮助分析诊断此类问题。
JMAP 全称是 JSON 邮件访问协议。新基于 JSON 的 API 用于实现与邮件服务器之间的邮件同步,可用于替换 IMAP。如果服务器支持 IMAP ,很容易就可以扩展对 JMAP 的支持。 标签:JMAP
JMAP-JS 是 JMAP 邮件,联系人和日历模型的 JavaScript 实现,是 JMAP 的 JavaScript 客户端。 标签:JMAPJS
java程序性能分析thread dump和heap dump,dump文件:在故障定位(尤其是out of memory)和性能分析的时候,dump文件记录了JVM运行期间的内存占用、线程执行等情况。 heap dump:记录某一时刻JVM堆中对象使用情况,哪些...
jmap、jstack、jstat组合使用定位jvm问题
JSON元应用协议(JMAP)规范此仓库包含JMAP的规范。 JMAP是电子邮件客户端连接到邮件存储的现代标准。 因此,它主要替代了IMAP + SMTP提交。 它不能代替MTA到MTA的SMTP传输。 JMAP由社区构建,并通过不断改进。 即将...
本文档从实战角度出发,介绍jps、jmap、jstack和jstat这四个命令的常用方式。 jps 作用:获取java进程号,是后续命令的基础。 当一台服务器运行多个java进程时,该命令默认只输出进程号和应用名,可能无法区分哪个...
JMAP服务器 如所指定的JMAP服务器的实现 安装 npm install -g jmap-server 用法 首先启动服务器: jmap-server 然后,您可以在测试一些请求: curl -d "@examples/mailboxes/setMailboxes.json" -H "Content-...
本文实例讲述了JavaScript JMap类定义与使用方法。分享给大家供大家参考,具体如下: 在JavaScript中我们利用function类定义类 在类的内部我们用var 定义私有变量 私有函数 在类的内部我们用this 定义公有变量 (1)...
jvm命令行工具,java性能优化,jdk命令工具, jcmd命令、jps命令、jmap命令、jstack命令、jinfo命令、jstat命令
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,下面这篇文章主要给大家介绍了关于jvm信息jmap使用的基本方法教程,需要的朋友...