jdk 工具 jmap jcmd dump内存,jvisualvm 内存分析,手动触发GC

$ jps
4866 Bootstrap
5944 Jps
5773 Main

得到tomcat进程id 4866

$ jmap -dump:format=b,file=d.hprof 4866
Dumping heap to /usr/local/tomcat/d.hprof ...
Heap dump file created

dump内存信息

jvisualvm 加载 d.hprof文件

也可用以下指令

$ jmap -histo 4866

 num     #instances         #bytes  class name
----------------------------------------------
   1:        146801       16675856  [C
   2:         36009       10521128  [B
   3:         59949        8609384  <constMethodKlass>
   4:         59949        7684736  <methodKlass>
   5:          5770        6616336  <constantPoolKlass>
   6:        180992        6278528  [Ljava.lang.Object;
   7:         14729        5149584  [I
   8:          5770        4095904  <instanceKlassKlass>
   9:          4835        3674240  <constantPoolCacheKlass>
  10:        120051        2881224  java.lang.String
  11:         78037        2497184  java.io.ObjectStreamClass$WeakClassKey
  12:         61747        2469880  java.util.TreeMap$Entry
  13:         19919        1593520  java.lang.reflect.Method
  14:          1910        1033968  <methodDataKlass>
  15:         20195         646240  java.util.HashMap$Entry
  16:         25967         623208  java.lang.Long
  17:          6255         603744  java.lang.Class
  18:          5960         593080  [Ljava.util.HashMap$Entry;
  19:          5700         592800  java.io.ObjectStreamClass
  20:         17048         545536  java.util.concurrent.ConcurrentHashMap$HashEntry
  21:          8191         495288  [S
  22:         10022         481056  java.util.HashMap
  23:          9450         469488  [[I
  24:         14434         461888  java.util.TreeMap$KeyIterator
  25:         10798         431920  java.util.LinkedHashMap$Entry
  26:         14557         349368  java.util.ArrayList
  27:          5409         346176  java.net.URL
  28:         14843         336312  [Ljava.lang.Class;
  29:          6632         318336  java.util.TreeMap
  30:         11531         276744  java.lang.StringBuilder
  31:          2850         273600  java.lang.management.ThreadInfo
  32:          6768         270720  com.sun.org.apache.xerces.internal.dom.DeferredTextImpl
  33:           468         254592  <objArrayKlassKlass>
  34:          7879         252128  java.util.TreeMap$EntryIterator
  35:          6094         243760  com.sun.org.apache.xerces.internal.dom.DeferredAttrImpl
  36:          4270         239120  java.util.LinkedHashMap
  37:          6130         233472  [Ljava.lang.String;
  38:          9532         228768  java.io.SerialCallbackContext
  39:          6546         209472  java.lang.ref.WeakReference
  40:          3651         204456  com.sun.org.apache.xerces.internal.dom.DeferredElementImpl
  41:          7837         188088  java.util.Collections$UnmodifiableCollection$1
  42:          1493         182000  [Ljava.util.concurrent.ConcurrentHashMap$HashEntry;
  43:          2503         180216  java.lang.reflect.Field
  44:          3678         176544  org.apache.catalina.loader.ResourceEntry
  45:          8713         171336  [Ljavax.management.openmbean.CompositeData;
  46:          6597         158328  javax.management.openmbean.CompositeDataSupport
  47:          3274         157152  org.aspectj.weaver.reflect.ShadowMatchImpl
  48:          8226         131616  java.lang.Boolean
  49:          3241         129640  java.lang.ref.SoftReference
  50:          3614         124392  [Ljavax.management.ObjectName$Property;
。。。

手动触发GC

$  jcmd 4866 GC.run
4866:
Command executed successfully
发布了161 篇原创文章 · 获赞 39 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/hknaruto/article/details/97751503