💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

【Jvm调优篇4】JVM参数_JVM

  • 推荐:kuan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
  • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
  • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
  • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
  • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
  • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨


博客目录

  • 1.堆参数
  • 2.JVM 参数
  • 3.标准参数
  • 4.-X 参数
  • 5.-XX 参数
  • 6.堆栈参数
  • 7.常用 JVM 参数


1.堆参数

  • –Xms:JVM 初始分配的堆内存,默认是物理内存的 1/64
  • –Xmx:JVM 最大允许分配的堆内存,默认是物理内存的 1/4

建议将 Xms 和 Xmx 设为一样的值,避免每次垃圾回收完成后 JVM 重新分配内存。如果虚拟机启动时设置的 Xms 比较小,这个时候又需要初始化很多对象,虚拟机会不断地增加内存。

#设置堆的初始和最大都为1M
-Xms1024m -Xmx1024m

#设置堆的初始和最大都为3g
-Xms3g -Xmx3g

2.JVM 参数

所谓 JVM 调优就是设置一个合理的 JVM 参数,适合当前系统运行。

JVM 参数分为三类:

  • 标准参数
  • -X 参数
  • -XX 参数

3.标准参数

以"-"开头的参数称为标准参数,是任何一个 JDK 版本都支持的,比较稳定,不会随 jdk 版本更新和改变。例如-version,-help,-server。

4.-X 参数

以-X 开头的参数是在特定版本 HotSpot 支持的命令,jdk 版本变化之后,参数可能变化,这个参数用的较少。

5.-XX 参数

-XX 是不稳定的参数,也是主要参数,分为 Boolean 类型和非 Boolean 类型。

Boolean 型

Boolean 型的-XX 参数使用格式为:

#语法
-XX:[+-]<name>

例如:

#表示启用CMS垃圾收集器
-XX:+UseConcMarkSweepGC

#表示启用G1垃圾收集器
-XX:+UseG1GC

#表示打印出所有的JVM参数信息
-XX:+PrintFlagsFinal

非 Boolean 型

非 Boolean 型的-XX 参数的使用格式为:

#name表示属性,value表示属性对应的值
-XX:<name>=<value>

例如:

#设置最大永久代空间大小为5M
-XX:MaxMetaspaceSize=5M

6.堆栈参数

还有一些非常有用的参数,比如-Xms,-Xmx,-Xss,实际上这几种参数也是属于-XX 参数,只是简写了。

#堆最大为1000M设置方式
-Xms1000M
-XX:InitialHeapSize=1000M

#堆初始
-Xmx1000M
-XX:MaxHeapSize=1000M

#栈最大
-Xss1000M
-XX:ThreadStackSize=1000M

7.常用 JVM 参数

设置

说明

-XX:ClCompilerCount=3

最大并行编译数,大于 1 时可以提高编译速度,但会影响系统稳定性

-XX:InitialHeapSize=100m

初始堆大小,可以简写为-Xms100

-XX:MaxHeapSize

最大堆大小,可以简写为-Xmx100

-XX:NewSize=20m

设置年轻代大小

-XX:MaxNewSize

设置年轻代最大值

-XX:OldSize=50m

设置老年代大小

-XX:MetaspaceSize=50m

设置方法区大小,jdk1.8 才有,用元空间代替方法区

-XX:+UseParallelGC

设置 Parallel Scanvage 作为新生代收集器,系统默认会选择 Parallel Old 作为老年代收集器

-XX:NewRatio

新生代和老年代的比值,比如 -XX:NewRatio=4 表示新生代:老年代=1:4

-XX:SurvivorRatio

表示两个 S 区和 Eden 区的比值,比如-XX:SurvivorRatio=8 表示(S0+S1):Eden=2:8

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

【Jvm调优篇4】JVM参数_JVM_02