当前位置:网站首页>JVM常用指令
JVM常用指令
2022-06-27 05:57:00 【季风泯灭的季节】
Jmap
查询堆信息 :jmap -heap pid
C:\Users\41732>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:\Users\41732>jmap -dump:format=b,file=eureka.hprof 9780
Dumping heap to C:\Users\41732\eureka.hprof ...
Heap dump file created
C:\Users\41732>Jinfo
查看jvm参数
C:\Users\41732>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:\Users\41732\AppData\Local\JetBrains\IntelliJIdea2020.3\c
aptureAgent\debugger-agent.jar -Dfile.encoding=UTF-8
C:\Users\41732>Jstack
分析cpu飙高的原因
1. 找出cpu高的线程
top -p pid -H # -H表示只打印一次
2. 导出线程线程的栈信息
C:\Users\41732>jstack 9780 > aa.text3. 在导出的栈信息中分析该线程正在执行的状态
注意: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飙升的原因
- 线程死锁
- 线程内部有死循环
- 程序重有高频率的计算
- IO读写太高
- 频繁的发生GC
- 并发运行中的线程数太多
Jstat
打印GC信息
C:\Users\41732>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:\Users\41732>边栏推荐
- 洛谷P4683 [IOI2008] Type Printer 题解
- Double position relay rxmd2-1mrk001984 dc220v
- 【Cocos Creator 3.5.1】event.getButton()的使用
- 【QT小记】QT元对象系统简单认识
- Comprehensive application of OpenCV in contour detection and threshold processing
- 1317. 将整数转换为两个无零整数的和
- 爬虫学习5---反反爬之识别图片验证码(ddddocr和pytesseract实测效果)
- 【Cocos Creator 3.5.1】坐标的加法
- [622. design cycle queue]
- KubeSphere 集群配置 NFS 存储解决方案-收藏版
猜你喜欢

汇编语言-王爽 第8章 数据处理的两个基本问题-笔记
![[FPGA] design and implementation of frequency division and doubling based on FPGA](/img/84/75d473d3d8e670260ba16d06705c2f.png)
[FPGA] design and implementation of frequency division and doubling based on FPGA

树莓派4B上运行opcua协议DEMO接入kubeedge

Double position relay jdp-1440/dc110v

Wechat applet websocket use case

Small program of C language practice (consolidate and deepen the understanding of knowledge points)

30 SCM common problems and solutions!

汇编语言-王爽 第11章 标志寄存器-笔记

How JQ gets the ID name of an element

Assembly language - Wang Shuang Chapter 13 int instruction - Notes
随机推荐
How win 10 opens the environment variables window
树莓派4B上运行opcua协议DEMO接入kubeedge
310. minimum height tree
QListWidgetItem上附加widget
How to check the frequency of memory and the number of memory slots in CPU-Z?
【QT小记】QT元对象系统简单认识
Opencv实现对象跟踪
openstack实例重启状态就会变成错误处理方法,容器搭建的openstack重启计算节点compute服务方法,开机提示Give root password for maintenance处理方法
NLP-D62-nlp比赛D31&刷题D15
使用 WordPress快速个人建站指南
DAST 黑盒漏洞扫描器 第六篇:运营篇(终)
cpu-z中如何查看内存的频率和内存插槽的个数?
Basic concepts of neo4j graph database
双位置继电器XJLS-8G/220
Wholestagecodegen of spark
【FPGA】 基于FPGA分频,倍频设计实现
Sqlsever 字段相乘后保留2位小数
Unity中跨平臺獲取系統音量
【QT小作】使用结构体数据生成读写配置文件代码
力扣 179、最大数