JVM有什么调优参数?

-Xms:堆最小值

-Xmx:堆最大值。-Xms与-Xmx 的单位默认字节都是以k、m做单位的。

通常这两个配置参数相等,避免每次空间不足,动态扩容带来的影响。

-Xmn:新生代大小

-Xss:每个线程池的栈大小。在jdk5以上的版本,每个线程栈大小为1m,jdk5以前的版本为256k。一般在相同物理内存下,如果减少-Xss值会产生更大的线程数,但不同的操作系统对进程内线程数是有限制的,是不能无限生成。

-XX:NewRatio:设置老年代与新生代比值,-XX:NewRatio=4 表示老年代与新生代所占比例为4:1 ,新生代占比整个堆的五分之一。如果设置了-Xmn的情况下,该参数是不需要再设置的。

-XX:MaxTenuringThreshold:新生代中对象存活次数,默认15。(若对象在eden区,经历一次MinorGC后还活着,则被移动到Survior区,年龄加1。以后,对象每次经历MinorGC,年龄都加1。达到阀值,则移入老年代)

-XX:SurvivorRatio:Eden区与一个Survivor区大小的比值,如果设置为8,Eden和Survivor区的的大小是8:1,Survivor总大小占整个新生代的十分之二,因为Survivor有两块,from和to

-XX:PretenureSizeThreshold:对象超过多大值时直接在老年代中分配

-XX:CMSFullGCsBeforeCompaction:在多少次GC后进行内存压缩,这个是因为并行收集器不对内存空间进行压缩的,所以运行一段时间后会产生很多碎片,使得运行效率降低。

-XX:+PrintGCDetails:开启详细GC日志模式,日志的格式是和所使用的算法有关(JDK9之前)

-XX:G1NewSizePercent:G1年轻代初始大小,默认5%

-XX:G1MaxNewSizePercent:G1年轻代最大大小,默认60%

-XX:MaxGCPauseMillis:最大停顿时间,单位ms

相关推荐
AI人工智能+电脑小能手1 天前
大白话说Java设计模式-26-策略模式(业务实战篇)
java·spring·设计模式·策略模式·支付系统·算法切换
橙橙笔记1 天前
QT的安装
开发语言·qt·安装·软件
不是光头 强1 天前
Java 后端 AI 技术选型与学习路线
java·人工智能·学习
格林威1 天前
C#图像像素放大:邻域平均、双线性插值实现像素放大的C#实现代码
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
兔兔兔兔11 天前
记录C++ 8
开发语言·c++
paopaokaka_luck1 天前
基于springboot3+vue3的文山民族文化资源展示与推广平台(协同过滤算法、Echarts 图形化分析)
java·前端·spring boot·学习·echarts
eralong1 天前
Java IO 与 NIO
java·后端
Jesse_EC1 天前
我给消息推送加了 Publisher Confirm,然后亲手引入了一个竞态
java
名字还没想好☜1 天前
Go 1.23 range-over-func 迭代器实战:自定义可迭代类型、提前退出与惰性求值
开发语言·后端·golang·go·迭代器
S3rein1 天前
JAVA多线程手撕
java·多线程