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

相关推荐
沐知全栈开发几秒前
Scala Iterator(迭代器)
开发语言
篮子里的玫瑰5 分钟前
Python与网络爬虫——字典与集合
开发语言·python
良木生香5 分钟前
【C++初阶】STL——Vector从入门到应用完全指南(1)
开发语言·c++·神经网络·算法·计算机视觉·自然语言处理·数据挖掘
Brilliantwxx5 分钟前
【C++】String的模拟实现(代码实现与坑点讲解)
开发语言·c++·笔记·算法
薪火铺子9 分钟前
SpringMVC请求处理流程源码解析(第1篇):请求入口与处理器映射
java·后端·spring
ch.ju9 分钟前
Java程序设计(第3版)第二章——参数(实参 形参)
java
椰猫子10 分钟前
SpringMVC(SpringMVC简介、请求与响应(请求映射路径、请求参数、日期类型参数传递、响应json数据))
java·前端·数据库
通往曙光的路上10 分钟前
JVM面试题
jvm
海兰13 分钟前
【开篇】Spring AI、OpenClaw 和Hermes
java·人工智能·spring·spring ai
skilllite作者16 分钟前
Zed 1.0 编辑器深度评测与实战指南
开发语言·人工智能·windows·python·编辑器·agi