栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JVM常用指令

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM常用指令

Jmap  查询堆信息 :jmap -heap pid
C:Users41732>jmap -heap 9780
Attaching to process ID 9780, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.152-b16

using thread-local object allocation.
Parallel GC with 4 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 4267704320 (4070.0M
   NewSize                  = 89128960 (85.0MB)
   MaxNewSize               = 1422393344 (1356.5M
   OldSize                  = 179306496 (171.0MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875
   CompressedClassSpaceSize = 1073741824 (1024.0M
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 65536000 (62.5MB)
   used     = 36124952 (34.451438903808594MB)
   free     = 29411048 (28.048561096191406MB)
   55.12230224609375% used
From Space:
   capacity = 14680064 (14.0MB)
   used     = 4598376 (4.385353088378906MB)
   free     = 10081688 (9.614646911621094MB)
   31.323950631277903% used
To Space:
   capacity = 14680064 (14.0MB)
   used     = 0 (0.0MB)
   free     = 14680064 (14.0MB)
   0.0% used
PS Old Generation
   capacity = 110100480 (105.0MB)
   used     = 13078136 (12.472282409667969MB)
   free     = 97022344 (92.52771759033203MB)
   11.87836419968378% used

15044 interned Strings occupying 2001648 bytes.
查看当前实例个数:jmap -histo pid
 num     #instances         #bytes  class name
----------------------------------------------
   1:        123030       17393624  [C
   2:         42214       13424608  [B
   3:         10861        4126040  [I
   4:         23535        2071080  java.lang.reflect.Method
   5:         70927        1702248  java.lang.String
   6:         22263        1075592  [Ljava.lang.Object;
   7:         37505         779912  [Ljava.lang.Class;
   8:          7161         629160  [Ljava.util.HashMap$Node;
   9:         12558         602784  java.util.HashMap
  10:          5286         592496  java.lang.Class
  11:         16836         538752  java.util.HashMap$Node
  12:          9808         470784  org.springframework.core.ResolvableType
  13:         12865         411680  java.util.ArrayList$Itr
  14:         11799         377568  java.util.concurrent.ConcurrentHashMap$Node
  15:          9108         364320  java.util.LinkedHashMap$Entry
  16:          7767         310680  java.util.HashMap$KeyIterator
  17:         11649         279576  java.lang.StringBuilder
  18:          3441         271808  [S
  19:          4577         256312  java.util.LinkedHashMap
  20:          7391         236512  java.lang.ref.WeakReference
  21:          3863         223792  [Ljava.lang.reflect.Method;
  22:          2952         212544  java.lang.reflect.Field
  23:          5122         195728  [Ljava.lang.String;
  24:          7907         189768  java.util.ArrayList
  25:          1868         189736  [Z
  26:          7011         168264  java.util.Collections$UnmodifiableCollection$1
  27:           144         156784  [Ljava.util.concurrent.ConcurrentHashMap$Node;
  28:          3869         154760  java.lang.ref.SoftReference
  • num:序号
  • instances:实例数量
  • bytes:占用空间大小
  • class name:类名称,[C is a char[],[S is a short[],[I is a int[],[B is a byte[],[[I is a int[][]
导出内存影像:jmap ‐dump:format=b,file=fileName pid
C:Users41732>jmap -dump:format=b,file=eureka.hprof 9780
Dumping heap to C:Users41732eureka.hprof ...
Heap dump file created

C:Users41732>
Jinfo 查看jvm参数
C:Users41732>jinfo -flags 9780
Attaching to process ID 9780, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.152-b16
Non-default VM flags: -XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote -XX:CICompilerCount=3 -XX:InitialHeapSize=268435456 -XX:MaxHeapSize=4267704320 -XX:MaxNewSize=1422393344 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=891289
60 -XX:OldSize=179306496 -XX:TieredStopAtLevel=1 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
Command line:  -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:50964,suspend=y,server=n -XX:TieredStopAtLevel=1 -Xverify:none -Dspring.output.ansi.enabled=always -javaagent:C:Users41732AppDataLocalJetBrainsIntelliJIdea2020.3c
aptureAgentdebugger-agent.jar -Dfile.encoding=UTF-8

C:Users41732>
Jstack 分析cpu飙高的原因

1. 找出cpu高的线程

top -p pid  -H  # -H表示只打印一次

 

2. 导出线程线程的栈信息

C:Users41732>jstack 9780  > aa.text

3. 在导出的栈信息中分析该线程正在执行的状态

   注意:top -p 输出的线程号是10进制,而jstack导出的文件线程号是16进制,需要转换。

jstack 19332 | grep -10 4b8f
"http-nio-8080-ClientPoller-0" #20 daemon prio=5 os_prio=0 tid=0x000000001f6a8000 nid=0x1fb8 runnable [0x0000000020cee000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
	at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x000000076d2a11e0> (a sun.nio.ch.Util$3)
	- locked <0x000000076d2a11d0> (a java.util.Collections$UnmodifiableSet)
	- locked <0x000000076d2a1080> (a sun.nio.ch.WindowsSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1052)
	at java.lang.Thread.run(Thread.java:748)

"NioBlockingSelector.BlockPoller-1" #19 daemon prio=5 os_prio=0 tid=0x000000001f680000 nid=0x3c8 runnable [0x0000000020bef000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:296)
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:278)
	at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:159)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x000000076d061bc8> (a sun.nio.ch.Util$3)
	- locked <0x000000076d060b20> (a java.util.Collections$UnmodifiableSet)
	- locked <0x000000076d05cdd0> (a sun.nio.ch.WindowsSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:342)

Cpu飙升的原因

  1. 线程死锁
  2. 线程内部有死循环
  3. 程序重有高频率的计算
  4. IO读写太高
  5. 频繁的发生GC
  6. 并发运行中的线程数太多
Jstat  打印GC信息
C:Users41732>jstat  -gc  9780 1000 10
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073
14336.0 14336.0 4490.6  0.0   64000.0  35918.3   107520.0   12771.6   24448.0 23677.6 3200.0 2998.1      6    0.039   1      0.033    0.073

C:Users41732>

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992307.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号