jmap命令

ps -ef| grep java

root      1426  1359  0 10:30 pts/0    00:00:00 grep java
root 7807 1 0 Apr28 ? 00:22:52 /usr/java/jdk1.8.0_45/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-8.0.30/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/apache-tomcat-8.0.30/endorsed -classpath /opt/apache-tomcat-8.0.30/bin/bootstrap.jar:/opt/apache-tomcat-8.0.30/bin/tomcat-juli.jar -Dcatalina.base=/opt/apache-tomcat-8.0.30 -Dcatalina.home=/opt/apache-tomcat-8.0.30 -Djava.io.tmpdir=/opt/apache-tomcat-8.0.30/temp org.apache.catalina.startup.Bootstrap start

jmap 7807

Attaching to process ID 7807, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.45-b02
0x0000000000400000 7K /usr/java/jdk1.8.0_45/bin/java
0x00007f17958dd000 36K /usr/java/jdk1.8.0_45/jre/lib/amd64/libawt_headless.so
0x00007f1795ae4000 754K /usr/java/jdk1.8.0_45/jre/lib/amd64/libawt.so
0x00007f17eaee5000 108K /lib64/libresolv-2.12.so
0x00007f17ecf03000 26K /lib64/libnss_dns-2.12.so
0x00007f17ee21f000 88K /lib64/libgcc_s-4.4.7-20120601.so.1
0x00007f17ee435000 250K /usr/java/jdk1.8.0_45/jre/lib/amd64/libsunec.so
0x00007f17ee97d000 90K /usr/java/jdk1.8.0_45/jre/lib/amd64/libnio.so
0x00007f17eeb8e000 113K /usr/java/jdk1.8.0_45/jre/lib/amd64/libnet.so
0x00007f17eeda5000 48K /usr/java/jdk1.8.0_45/jre/lib/amd64/libmanagement.so
0x00007f180880a000 121K /usr/java/jdk1.8.0_45/jre/lib/amd64/libzip.so
0x00007f1808a25000 64K /lib64/libnss_files-2.12.so
0x00007f1808c33000 220K /usr/java/jdk1.8.0_45/jre/lib/amd64/libjava.so
0x00007f1808e5f000 64K /usr/java/jdk1.8.0_45/jre/lib/amd64/libverify.so
0x00007f180906e000 42K /lib64/librt-2.12.so
0x00007f1809276000 582K /lib64/libm-2.12.so
0x00007f18094fa000 16440K /usr/java/jdk1.8.0_45/jre/lib/amd64/server/libjvm.so
0x00007f180a4c2000 1876K /lib64/libc-2.12.so
0x00007f180a856000 19K /lib64/libdl-2.12.so
0x00007f180aa5a000 100K /usr/java/jdk1.8.0_45/lib/amd64/jli/libjli.so
0x00007f180ac70000 139K /lib64/libpthread-2.12.so
0x00007f180ae8d000 150K /lib64/ld-2.12.so

jmap -heap 7807

Attaching to process ID 7807, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.45-b02 using thread-local object allocation.
Parallel GC with 2 thread(s) Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 1006632960 (960.0MB)
NewSize = 20971520 (20.0MB)
MaxNewSize = 335544320 (320.0MB)
OldSize = 41943040 (40.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB) Heap Usage:
PS Young Generation
Eden Space: ----------------------------------------伊甸园
capacity = 122683392 (117.0MB)
used = 84779408 (80.85194396972656MB)
free = 37903984 (36.14805603027344MB)
69.10422561515091% used
From Space: ----------------------------------------年轻代(幸存者乐园1)
capacity = 524288 (0.5MB)
used = 32768 (0.03125MB)
free = 491520 (0.46875MB)
6.25% used
To Space: ------------------------------------------年轻代(幸存者乐园2)
capacity = 38273024 (36.5MB)
used = 0 (0.0MB)
free = 38273024 (36.5MB)
0.0% used
PS Old Generation ----------------------------------老年代(终身颐养园)
capacity = 271581184 (259.0MB)
used = 212289648 (202.45518493652344MB)
free = 59291536 (56.54481506347656MB)
78.16802507201677% used 33603 interned Strings occupying 3737888 bytes.

jmap -histo 7807 | head -30

 num     #instances         #bytes  class name
----------------------------------------------
1: 346185 117868872 [B
2: 603520 64592800 [C
3: 145217 13940832 java.util.jar.JarFile$JarFileEntry
4: 578985 13895640 java.lang.String
5: 126460 13392344 [I
6: 200368 8014720 java.util.TreeMap$Entry
7: 247294 7913408 java.util.HashMap$Node
8: 118956 4758240 java.util.HashMap$KeyIterator
9: 21730 3842512 [Ljava.util.HashMap$Node;
10: 100798 3225536 java.io.File
11: 76437 3057480 java.util.HashMap$ValueIterator
12: 39387 2372408 [Ljava.lang.Object;
13: 32109 2054976 java.net.URL
14: 28289 2036808 java.util.regex.Pattern
15: 76439 1834536 org.apache.catalina.LifecycleEvent
16: 62955 1814072 [Ljava.lang.String;
17: 28177 1803328 java.util.regex.Matcher
18: 14724 1665208 java.lang.Class
19: 28161 1577016 [Ljava.util.regex.Pattern$GroupHead;
20: 17892 1574496 java.lang.reflect.Method
21: 76439 1534144 [Lorg.apache.catalina.Container;
22: 30096 1444608 java.util.HashMap
23: 26811 1072440 java.util.LinkedHashMap$Entry
24: 31914 1021248 java.util.concurrent.ConcurrentHashMap$Node
25: 19139 918672 org.apache.catalina.loader.ResourceEntry
26: 35760 858240 java.util.ArrayList
27: 13861 776216 java.util.concurrent.ConcurrentHashMap$ValueIterator

java类型描述符:

参照:http://blog.csdn.net/qinjuning/article/details/7599796

jmap -dump:live,format=b,file=/home/temp.hprof 7807

Dumping heap to /home/soft/0503.hprof ...
file size limit

jmap毕竟是命令工具,过于抽象,可以使用jdk自带的visualvm图形界面查看!

  C:\Program Files\Java\jdk1.7.0_71\bin\jvisualvm.exe

说说jmap命令的更多相关文章

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

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

  2. Linux下jmap命令查看内存使用

    Linux下jmap命令查看内存使用 jmap -heap 1234(1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: -heap       打印heap空间的概要 ...

  3. java命令--jmap命令使用(查找内存泄漏对象)

    转自:https://www.cnblogs.com/kongzhongqijing/articles/3621163.html jdk安装后会自带一些小工具,jmap命令(Java Memory M ...

  4. 【JVM】jmap命令详解----查看JVM内存使用详情

    linux获取java进程PID: https://www.cnblogs.com/sxdcgaq8080/p/10734752.html 如果命令使用过程中报错,可能解决你问题的方案: https: ...

  5. jvm 性能调优工具之 jmap 命令详解

    jmap名称:Java Memory Map(内存映射) 官方文档:https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html ...

  6. Windows下jmap命令报错问题

       最近换了笔记本,新的工作环境下jmap命令居然在报错,而jps.jstat.jinfo.jstack都能正常使用,所以初步排除进程号的问题. Attaching to core 17536 fr ...

  7. Java的jmap命令使用详解

    jmap命令简介 jmap(Java Virtual Machine Memory Map)是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具.除此以外,jmap命令还可以查 ...

  8. jmap命令详解(转)

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

  9. jmap命令详解

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

随机推荐

  1. dom4J使用笔记

    使用dom4j是目前最常用的解析XML的方法,dom4j解析集DOM和SAX技术优点于一身,要使用dom4j 还是先要导入jar: dom4j-1.6.1.jar (dom4j最主要的jar包,可以独 ...

  2. jQuery笔记——插件

    验证插件 验证插件(validate.js),是一款验证常规表单数据合法性的插件.使用它,极大的解 放了在表单上繁杂的验证过程,并且错误提示显示的完善也增加了用户体验 插件都可以在JQueryUI 的 ...

  3. java后台读取配置文件中key与value -----demo

    public class ResourcesUtils { /* * @description:根据属性获取文件名 * * @param:propertyName文件的属性名 * * @return: ...

  4. apache 自定义404错误页面

    1.有些提供web服务的网站,在用户访问一个不存在的网站文件时,会提示404错误,如下所示: 现在要求自定义一个错误页面,也就是出现404错误代码时,跳转到我们自定义的网址上.下面记录下方法: 1.编 ...

  5. Julia - 函数运算符

    Julia 中,大多数运算符都是支持特定语法的函数 && . || 等短路运算是例外,它们不是函数,因为短路求值先算前面的值,再算后面的值 对于函数运算符,可以像其它函数一样,把参数列 ...

  6. django Chinese

    http://usyiyi.cn/translate/django_182/contents.html

  7. day9-IO心得

    Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SSH Tws ...

  8. makefile .phony targets

    Phony Targets PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字.有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能. 如果编写一个规则,并不产生目标文件,则 ...

  9. Vue2不使用Vuex如何实现兄弟组件间的通信

    在一些正规的大型项目的企业级开发过程中我们一般会引入Vuex来对Vue所有组件进行状态管理,可以轻松实现各组件间的通信.但是有时候做做自己的小项目,没有必要使用Vuex时,如何简单的实现组件间的通信? ...

  10. django -- url (模版语言{{ request.path_info }})

    在django的模版语言中中可以使用   {{ request.path_info }} 帮助生成url. urls.py from django.conf.urls import url, incl ...