[第三篇]JVM 信息查看

眉间皱痕 提交于 2020-01-07 15:46:12

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1. jps 打印所有java 进程

JACDONG-M-D1FJ:~ jacdong$ jps
28454 Jps
68554 OracleIdeLauncher
19436 

2.jinfo -flags java 进程号  -- 查看jvm 参数

 

3.jinfo -sysprops java 进程号 -- 查看java 系统参数

4.jstat -class 进程号 -- 查看jvm 内存使用情况

JACDONG-M-D1FJ:~ jacdong$ jstat -class 29778
Loaded  Bytes  Unloaded  Bytes     Time   
 23128 46569.0        8     7.2      20.99

5.jstat -gc 进程号 -- 查看jvm gc 情况

JACDONG-M-D1FJ:~ jacdong$ jstat -gc 29778
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
96768.0 72704.0  0.0   72495.1 228352.0 82966.2   173568.0   110433.3  158616.0 141782.2 21504.0 17087.3     35    0.606   7      0.854    1.460

s0c : surivor 0

    s--> survivor , c --> capacity , u --> used

gc 的统计信息
JACDONG-M-D1FJ:~ jacdong$ jstat -gccapacity 29778
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC 
 13312.0 409600.0 409600.0 111104.0 108544.0 189440.0    27648.0   819200.0   257024.0   257024.0      0.0 1196032.0 168216.0      0.0 1048576.0  22656.0     41     8

新生代gc 信息
JACDONG-M-D1FJ:~ jacdong$ jstat -gcnew 29778
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT  
111104.0 108544.0    0.0 10369.1 15  15 111104.0 189440.0 163857.6     41    0.824

新生代gc 统计信息
JACDONG-M-D1FJ:~ jacdong$ jstat -gcnewcapacity 29778
  NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC 
   13312.0   409600.0   409600.0 136192.0 111104.0 136192.0 108544.0   408576.0   189440.0    41     8

老年代gc 信息
JACDONG-M-D1FJ:~ jacdong$ jstat -gcold 29778
   MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT   
168216.0 150555.2  22656.0  17927.9    257024.0    156917.3     41     8    1.312    2.136

老年代gc 统计信息
JACDONG-M-D1FJ:~ jacdong$ jstat -gcoldcapacity 29778
   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   
    27648.0    819200.0    257024.0    257024.0    41     8    1.312    2.136

 

jmap 查看运行时内存信息

利用jmap 来分析jvm 堆内存使用情况

jmap -histo 29778 > /Users/jacdong/log.txt

num : 序号
instances : 实例数
bytes : 占用空间
class name : 类名

 num     #instances         #bytes  class name
----------------------------------------------
   1:        150159       98008528  [B
   2:        886770       76335256  [C
   3:        161177       20003024  [I
   4:        652948       15670752  java.lang.String
   5:        398156       12740992  java.util.HashMap$Node
   6:        123850        7756536  [Ljava.lang.Object;
   7:         77522        7026152  [Ljava.util.HashMap$Node;
   8:        224619        5390856  java.lang.Long
   9:         93065        4295320  [Ljava.lang.String;
  10:        155022        3909224  [J
  11:         72641        3486768  java.util.HashMap
  12:         67345        3232560  org.eclipse.swt.internal.cocoa.NSRect
  13:         95256        3048192  org.eclipse.swt.internal.cocoa.objc_super
  14:         25823        2989784  java.lang.Class
  15:         67746        2709840  java.util.LinkedHashMap$Entry
  16:         69236        2215552  org.eclipse.swt.internal.cocoa.NSPoint
  17:         27972        2013984  org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl
  18:         30005        1920320  org.eclipse.core.internal.resources.ResourceInfo
  19:         33569        1611312  org.eclipse.core.internal.registry.ReferenceMap$SoftRef
  20:         64657        1551768  java.util.ArrayList
  21:         28016        1344768  org.eclipse.core.internal.registry.ConfigurationElement
  22:         41950        1342400  org.eclipse.swt.graphics.Rectangle
  23:         53945        1294680  java.lang.StringBuilder
  24:         46578        1117872  org.eclipse.emf.ecore.util.EcoreUtil$ProperContentIterator
  25:         11549        1108704  org.eclipse.egit.ui.internal.history.SWTCommit
  26:         27698        1107920  java.util.WeakHashMap$Entry
  27:          6641        1053664  [[C
  28:         31674        1013568  java.util.Collections$UnmodifiableMap
  29:         40888         981312  org.eclipse.emf.ecore.impl.BasicEObjectImpl$3
  30:         15894         890064  java.util.LinkedHashMap
  31:          3719         803304  org.eclipse.swt.custom.StyledTextEvent
  32:         24163         773216  org.eclipse.jgit.dircache.DirCacheEntry
  33:          5608         762688  org.eclipse.swt.widgets.Event
  34:         31437         754488  org.eclipse.swt.internal.cocoa.NSGraphicsContext
  35:         23120         739840  org.eclipse.swt.internal.cocoa.NSRange
  36:         22873         731936  org.eclipse.swt.internal.cocoa.NSSize
  37:         30057         721368  org.eclipse.core.internal.dtree.DataTreeNode

 jmap -heap 29778 获取jvm 的概要信息。

JACDONG-M-D1FJ:~ jacdong$ jps
37872 EurekaApp
37875 Jps
37718 
JACDONG-M-D1FJ:~ jacdong$ jmap -dump:format=b,file=eurake.hrpof 37872
Dumping heap to /Users/jacdong/eurake.hrpof ...
Heap dump file created

 jstack 进程号 查看堆栈信息

jstack 进程号 查看堆栈信息


JACDONG-M-D1FJ:~ jacdong$ jstack 37872
2020-01-07 15:09:11
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.221-b11 mixed mode):

"Attach Listener" #50 daemon prio=9 os_prio=31 tid=0x00007fc44884a000 nid=0x5713 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"DestroyJavaVM" #49 prio=5 os_prio=31 tid=0x00007fc447bad800 nid=0x1803 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"http-nio-8888-AsyncTimeout" #47 daemon prio=5 os_prio=31 tid=0x00007fc4452af000 nid=0x8803 waiting on condition [0x000070000ce6e000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.apache.coyote.AbstractProtocol$AsyncTimeout.run(AbstractProtocol.java:1133)
	at java.lang.Thread.run(Thread.java:748)

"http-nio-8888-Acceptor-0" #46 daemon prio=5 os_prio=31 tid=0x00007fc4452ae800 nid=0x6f03 runnable [0x000070000cd6b000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
	at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
	at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
	- locked <0x000000076c19d578> (a java.lang.Object)
	at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:455)
	at java.lang.Thread.run(Thread.java:748)

"http-nio-8888-ClientPoller-1" #45 daemon prio=5 os_prio=31 tid=0x00007fc4452b5800 nid=0x6d03 runnable [0x000070000cc68000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
	at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
	at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x000000076c2a2948> (a sun.nio.ch.Util$3)
	- locked <0x000000076c2a2938> (a java.util.Collections$UnmodifiableSet)
	- locked <0x000000076c2a2818> (a sun.nio.ch.KQueueSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:793)
	at java.lang.Thread.run(Thread.java:748)

"http-nio-8888-ClientPoller-0" #44 daemon prio=5 os_prio=31 tid=0x00007fc447913800 nid=0x6b03 runnable [0x000070000cb65000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
	at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
	at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x000000076c2a2180> (a sun.nio.ch.Util$3)
	- locked <0x000000076c2a2170> (a java.util.Collections$UnmodifiableSet)
	- locked <0x000000076c2a2050> (a sun.nio.ch.KQueueSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:793)
	at java.lang.Thread.run(Thread.java:748)

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!