说说jmap命令

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

时间: 2024-10-14 06:34:12

说说jmap命令的相关文章

jmap命令详解

版权声明:本文为博主原创文章,未经博主允许不得转载. 1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量). 使用方法 jmap -histo pid.如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件中,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象.jmap -dump:format=b,

jmap命令详解(转)

1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量). 使用方法 jmap -histo pid.如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件中,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象.jmap -dump:format=b,file=outfile 3024可以将3024进程的

jmap命令使用

概述 jmap是一个多功能的命令.它可以生成java程序的堆dump文件,也可以查看堆内对象实例的统计信息,查看ClassLoader的信息以及Finalizer队列. 使用示例 导出对象统计信息 下面的命令生成PID为2500的java成粗的对象的统计信息,并输出到out.txt文件中: [qifuguang@winwill~]$ jmap -histo 2500 > out.txt [qifuguang@winwill~]$ [qifuguang@winwill~]$ [qifuguang@

jmap命令详解 (转载)

1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量). 使用方法 jmap -histo pid.如果使用SHELL ,可采用jmap -histo pid>a.log日志将其保存到文件中,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象.jmap -dump:format=b,file=outfile 3024可以将3024进程的

jmap 命令

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) Ma

【JVM】【linux】linux上执行jmap命令查看JVM内存使用情况,报错:sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypes" in any of the known library name

运行命令: jmap -heap 6709 报错如下: Attaching to process ID 6709, please wait... sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypes" in any of the known library names (libjvm.so, libjvm_g.so, gamma_g) at sun.jvm.hotsp

jmap命令(Java Memory Map)的使用

jmap的使用能够參考: 官方文档 http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html 和这篇博客 http://blog.csdn.net/fenglibing/article/details/6411953 本文主要是介绍一下jmap经常使用的几个參数,作为自己的备忘录.注意假设是使用64位的JVM,使用jmap的时候,须要加-J-d64 1.打印每一个class的实例数量,内存占用,类全名信息.live子

jmap命令

一.jmap -heap PID using parallel threads in the new generation.  ##新生代采用的是并行线程处理方式 using thread-local object allocation. Concurrent Mark-Sweep GC   ##同步并行垃圾回收 Heap Configuration:  ##堆配置情况 MinHeapFreeRatio = 40 ##最小堆使用比例 MaxHeapFreeRatio = 70 ##最大堆可用比例

Java命令学习系列(三)——Jmap

Jmap jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件.远程调试服务器)的共享对象内存映射或堆内存细节.可以使用jmap生成Heap Dump. 这篇文章主要介绍Java的堆Dump以及jamp命令 什么是堆Dump 堆Dump是反应Java堆使用情况的内存镜像,其中主要包括系统信息.虚拟机属性.完整的线程Dump.所有类和对象的状态等. 一般,在内存不足.GC异常等情况下,我们就会怀疑有内存泄露.这个时候我们就可以制作堆Dump来查看具体情况.分析原因. 基础知识