Java虚拟机默认参数

1 JVM默认参数

Java版本:OpenJDK 1.8.0_312
在这里插入图片描述
启动Java应用时的默认参数如下表:

序号参数默认值
1最小堆空间(Xms/InitialHeapSize)65.0M
2最大堆空间(Xmx/MaxHeapSize)974.0M
3新生代空间20.5M
4最大新生代空间324.5M
5老年代空间41.5M
6元空间(最小)20.79M
7垃圾回收器UseParallelGC

2 启动SpringBoot服务

构建SpringBoot服务并启动。
其中,启动时没有手动配置JVM参数,直接使用JVM默认参数。
在这里插入图片描述

3 Java进程

查看Java进程:

jps -l

运行的Java应用PID为47040。
在这里插入图片描述

4 查看GC收集器

jinfo -flag UseParallelGC 47040
jinfo -flag UseSerialGC 47040

+:正在使用的垃圾回收器
-:没有使用的垃圾回收器

由结果可知JDK8默认的垃圾回收器为ParallelGC。
在这里插入图片描述

5 查看JVM生效参数

java -XX:+PrintFlagsFinal -version | grep :

其中,通过:过滤出生效的配置。
=默认值
:=用户或者JVM赋值
在这里插入图片描述

6 查看堆栈信息

sudo jmap -heap 47040

在这里插入图片描述

7 查看GC capacity

垃圾回收容量

jstat -gccapacity 47040

在这里插入图片描述

序号参数描述默认值
1NGCMN当前年轻代最小容量20992.0 Bytes
2NGCMX当前年轻代最大容量332288.0 Bytes
3NGC当前年轻代容量332288.0 Bytes
4S0CS0区容量20992.0 Bytes
5S1CS1区容量20992.0 Bytes
6ECEden区容量290304.0 Bytes
7OGCMN老年代最小容量42496.0 Bytes
8OGCMX老年代最大容量665088.0 Bytes
9OGC当前老年代容量90112.0 Bytes
10OC老年代容量90112.0 Bytes
11MCMN最小元数据容量0.0 Bytes
12MCMX最大元数据容量1112064.0 Bytes
13MC当前元数据空间容量72280.0 Bytes
14CCSMN最小压缩类空间容量0.0 Bytes
15CCSMX最大压缩类空间容量1048576.0 Bytes
16CCSC当前压缩类空间容量9560.0 Bytes
17YGC年轻代垃圾回收次数16
18FGC老年代垃圾回收次数3

8 GC使用情况

垃圾回收运行信息。
C(Capacity):容量
U(Used):用量
在这里插入图片描述

序号参数描述默认值/已用值
1S0Cs0区总容量20992.0 Bytes
2S1Cs1区总容量14336.0 Bytes
3S0Us0区总用量0.0 Bytes
4S1Us1区总用量13950.3 Bytes
5ECEden区总容量291328.0 Bytes
6EUEden区总用量274189.4 Bytes
7OCOld区总容量90112.0 Bytes
8OUOld区总用量35149.9 Bytes
9MC方法区总容量71512.0 Bytes
10MU方法区总用量67434.6 Bytes
11CCSC压缩类空间容量9560.0 Bytes
12CCSU压缩类空间使用量8843.0 Bytes
13YGC新生代垃圾回收次数15
14YGCT新生代垃圾回收时间0.249 秒
15FGC老年代垃圾回收次数3
16FGCT新生代垃圾回收时间0.306秒
17GCT垃圾回收总时间0.555 秒

【参考文献】
[1]https://blog.csdn.net/zhaozheng7758/article/details/8623549
[2]https://blog.csdn.net/eos2009/article/details/78522901

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
很抱歉,我无法回答关于"深入浅出Java虚拟机PDF"的问题。但是,我可以告诉你关于Java虚拟机的一些信息。Java虚拟机JVM)是Java程序的运行环境,它负责将Java字节码转换为机器语言并执行程序。通过使用不同的虚拟机参数,可以对JVM进行配置和调优。 通过设置-Xss参数,可以指定每个线程的Java虚拟机栈内存大小。在JDK 1.4中,默认为256K,在JDK 1.5及更高版本中,默认为1M。例如,使用java -Xss2M命令可以将线程栈内存大小设置为2M。 Java虚拟机使用ClassLoader加载类。所有其他类的加载器都是Java实现的,并继承自抽象类java.lang.ClassLoader。 当老年代空间不足时,可能会触发Full GC。但是,并不建议使用这种方式来管理内存,而是让虚拟机自行管理。因为手动执行Full GC可能会导致性能问题。 希望以上信息对你有所帮助。如果你对Java虚拟机还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [深入浅出JAVA虚拟机](https://blog.csdn.net/loulanyue_/article/details/101075303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值