jmap,jhat,jstat
来源:互联网 发布:软件培训ppt模板 编辑:程序博客网 时间:2024/05/21 17:13
1.jmap(Memory Map)
jmap用来查看堆内存使用状况
使用jmap -heap pid查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况
root@ubuntu:/# jmap -heap 21711
使用jmap -histo[:live] pid查看堆内存中的对象数目、大小统计直方图,如果带上live则只统计活对象
root@ubuntu:/# jmap -histo:live 21711 |
或jmap -histo pid>a.log
more num #instances #bytes class name------------------------------------
1: 38445 5597736 <constMethodKlass>
2: 38445 5237288 <methodKlass>
class name是对象类型,说明如下:
B byteC charD doubleF floatI intJ longZ boolean[ 数组,如[I表示int[][L+类名 其他对象
还有一个很常用的情况是:用jmap把进程内存使用情况dump到文件中,再用jhat分析查看。jmap进行dump命令格式如下:
jmap -dump:format=b,file=dumpFileName pid
我一样地对上面进程ID为21711进行Dump:
root@ubuntu:/# jmap -dump:format=b,file=/tmp/dump.dat 21711 Dumping heap to /tmp/dump.dat ...Heap dump file created
dump出来的文件可以用MAT、VisualVM等工具查看,这里用jhat查看:
root@ubuntu:/# jhat -port 9998 /tmp/dump.datReading from /tmp/dump.dat...Dump file created Tue Jan 28 17:46:14 CST 2014Snapshot read, resolving...Resolving 132207 objects...Chasing references, expect 26 dots..........................Eliminating duplicate references..........................Snapshot resolved.Started HTTP server on port 9998Server is ready.
注意如果Dump文件太大,可能需要加上-J-Xmx512m这种参数指定最大堆内存,即jhat -J-Xmx512m -port 9998 /tmp/dump.dat。然后就可以在浏览器中输入主机地址:9998查看了:
如192.168.32.33:9998
jstat(JVM统计监测工具)
语法格式如下:
jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]
vmid是Java虚拟机ID,在Linux/Unix系统上一般就是进程ID。interval是采样时间间隔。count是采样数目。比如下面输出的是GC信息,采样时间间隔为250ms,采样数为4:
root@ubuntu:/# jstat -gc 21711 250 4 S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 192.0 192.0 64.0 0.0 6144.0 1854.9 32000.0 4111.6 55296.0 25472.7 702 0.431 3 0.218 0.649192.0 192.0 64.0 0.0 6144.0 1972.2 32000.0 4111.6 55296.0 25472.7 702 0.431 3 0.218 0.649192.0 192.0 64.0 0.0 6144.0 1972.2 32000.0 4111.6 55296.0 25472.7 702 0.431 3 0.218 0.649192.0 192.0 64.0 0.0 6144.0 2109.7 32000.0 4111.6 55296.0 25472.7 702 0.431 3 0.218 0.649
要明白上面各列的意义,先看JVM堆内存布局:
可以看出:
堆内存 = 年轻代 + 年老代 + 永久代年轻代 = Eden区 + 两个Survivor区(From和To)
现在来解释各列含义:
S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)EC、EU:Eden区容量和使用量OC、OU:年老代容量和使用量PC、PU:永久代容量和使用量YGC、YGT:年轻代GC次数和GC耗时FGC、FGCT:Full GC次数和Full GC耗时GCT:GC总耗时
- jmap,jhat,jstat
- jps, jmap, jhat, mat, jstat
- linux下java内存泄露定位jstat+jmap+jhat
- JVM监控工具jps、jstack、jmap、jhat、jstat
- JVM监控工具jps、jstack、jmap、jhat、jstat、hprof使用
- jdk的jps jstat jstack jmap jhat命令
- Java——命令jps、jstat、jmap、jstack、jhat、jinfo
- jdk中自带 jstat,jconsole,jps,jmap,jhat使用
- jstat, jmap
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- jps,jstat,jinfo,jmap,jhat,jstack工具的使用/查看Linux磁盘信息
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- 亚马逊收购全食超市,或将摆脱其高价形象
- 高可用性系统在大众点评的实践与经验
- mysql常用命令
- [leetcode]: 234. Palindrome Linked List
- springboot+Multipart文件上传获取失败
- jmap,jhat,jstat
- Nginx开发从入门到精通
- Unity StartCoroutine 和 yield return 深入研究
- python中递归的使用
- 同步失败阿里云代理
- redis做分布式锁 java demo
- 移动站点网页设计如何打造才能更好的吸引客户呢
- salt-api 安装使用
- PAT乙级真题及训练集(11)--1004. 成绩排名 (20)