摘要
文件目录查询某一JVM过程堆内存信息内容调整JVM运行主要参数查询JVM的一些默认设置主要参数参照廖雪峰教师的这篇JVM调优的正确姿势: https://www.liaoxuefeng.com/article/1336345083510818查询某一JVM过程堆内存信息内容大量java专用工具指令能够 在 jdk的bin文件目录下见到,指令如何使用能够 应用 -help# 查看端口C:\Users…
正文
- 查询某一JVM过程堆内存信息内容
- 调整JVM运行主要参数
- 查询JVM的一些默认设置主要参数
参照廖雪峰教师的这篇
JVM调优的正确姿势: https://www.liaoxuefeng.com/article/1336345083510818
查询某一JVM过程堆内存信息内容
大量java专用工具指令能够 在 jdk的bin文件目录下见到,指令如何使用能够 应用 -help
# 查看端口
C:\Users\admin>netstat -ano|findstr 8081
TCP 0.0.0.0:8081 0.0.0.0:0 LISTENING 8792
TCP [::]:8081 [::]:0 LISTENING 8792
# jmap -heap <pid>
C:\Users\admin>jmap -heap 8792
Attaching to process ID 8792, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.251-b08
using thread-local object allocation.
Parallel GC with 4 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 2147483648 (2048.0MB)
NewSize = 715653120 (682.5MB)
MaxNewSize = 715653120 (682.5MB)
OldSize = 1431830528 (1365.5MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 536870912 (512.0MB)
CompressedClassSpaceSize = 528482304 (504.0MB)
MaxMetaspaceSize = 536870912 (512.0MB)
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 537395200 (512.5MB)
used = 390193272 (372.11730194091797MB)
free = 147201928 (140.38269805908203MB)
72.60825403725228% used
From Space:
capacity = 89128960 (85.0MB)
used = 27779432 (26.492530822753906MB)
free = 61349528 (58.507469177246094MB)
31.167683320886947% used
To Space:
capacity = 89128960 (85.0MB)
used = 0 (0.0MB)
free = 89128960 (85.0MB)
0.0% used
PS Old Generation
capacity = 1431830528 (1365.5MB)
used = 122896 (0.1172027587890625MB)
free = 1431707632 (1365.382797241211MB)
0.008583138688323874% used
23174 interned Strings occupying 2401368 bytes.
调整JVM运行主要参数
JVM主要参数大概能够 分成三类
-
规范命令:
-
开始,这种是全部的HotSpot
都适用的主要参数。可以用java -help
打印出出去。 -
非标命令:
-X
开始,这种命令一般 是跟特殊的HotSpot
版本号相匹配的。可以用java -X
打印出出去。 -
不稳定主要参数:
-XX
开始,这一类主要参数是跟特殊HotSpot
版本号相匹配的,而且转变十分大。详尽的档案文件很少。
在JDK1.8版本号下几个常见的不稳定命令
java -XX: PrintCommandLineFlags
:查询当今指令的不稳定命令
java -XX: PrintFlagsInitial
:查询全部不稳定命令的初始值
java -XX: PrintFlagsFinal
:查询全部不稳定命令最后起效的具体值
JDK1.8以前元室内空间叫永久性代
STW(Stop-The-World):就是指JVM在实行废弃物搜集优化算法时,全部的客户进程都被挂起来(除开废弃物搜集协助器以外)。Java中一种全局性中止状况,全局性间断,全部Java编码终止,native代码能够 实行,但不可以与JVM互动;这种间断状况大多数是因为GC造成。
堆内存默认设置分派:新生儿区占1/3,老年人区占2/3
新生儿区别为3块 Eden、From(S0)、To(S1),默认设置占有率是 8:1:1
# -Xms: 设定堆复位内存空间, 默认设置是 1/64
# -Xmx: 设定较大 释放内存尺寸, 默认设置是 1/4
# -Xss: 进程栈尺寸
# -XX:MetaspaceSize: 元室内空间尺寸
# -XX:MaxMetaspaceSize: 元室内空间较大 尺寸
java -Xms2G -Xmx2G -Xss1M -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -jar app.jar
# -XX:MaxGCPauseMillis: GC开展STW的较大 间断時间, JVM将尽量(但不确保)间断低于这一時间
# -XX: UseG1GC 应用G1废弃物回收器
java -Xms2G -Xmx2G -Xss1M -XX: UseG1GC -XX:MaxGCPauseMillis=100ms -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M -jar app.jar
查询JVM的一些默认设置主要参数
C:\Users\admin>java -XX: PrintCommandLineFlags -version
-XX:InitialHeapSize=132884864 -XX:MaxHeapSize=2126157824 -XX: PrintCommandLineFlags
-XX: UseCompressedClassPointers -XX: UseCompressedOops
-XX:-UseLargePagesIndividualAllocation -XX: UseParallelGC
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
从上边能够 看得出JDK8默认设置应用的GC是 ParallelGC
= Parallel Scavenge Parallel Old
JDK每个版本号的GC,来源于:https://www.cnblogs.com/zeze/p/6610163.html
新一代
- 1.3:Seriall
- 1.4:ParNew、Parallel Scavenge
老时代
- 1.5:CMS、Serial Old(MSC)
- 1.6:Parallel Old
- 1.7:G1(回收器在JDK 1.7 u4版本号宣布交付使用)
查询GC的详细资料
C:\Users\admin>java -XX: PrintGCDetails -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
Heap
PSYoungGen total 38400K, used 2005K [0x00000000d5c00000, 0x00000000d8680000, 0x0000000100000000)
eden space 33280K, 6% used [0x00000000d5c00000,0x00000000d5df54b8,0x00000000d7c80000)
from space 5120K, 0% used [0x00000000d8180000,0x00000000d8180000,0x00000000d8680000)
to space 5120K, 0% used [0x00000000d7c80000,0x00000000d7c80000,0x00000000d8180000)
ParOldGen total 87552K, used 0K [0x0000000081400000, 0x0000000086980000, 0x00000000d5c00000)
object space 87552K, 0% used [0x0000000081400000,0x0000000081400000,0x0000000086980000)
Metaspace used 2360K, capacity 4480K, committed 4480K, reserved 1056768K
class space used 255K, capacity 384K, committed 384K, reserved 1048576K
关注不迷路
扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!
评论0