JVM调优常用参数

-XMS:128M    # 堆内存初始空间,正常是分配服务器内存的 1/64

-XMx:2048M  #堆内存最大空间,正常是分配服务器内存的 1/4

-XSS:1024k  #线程中栈空间的内存,win环境默认0,Linux环境默认1024k,正常配置512k-1024k之间

-XX:MetaspaceSize=256M和 -XX:MaxMetaspaceSize=256M :元空间用的是服务器内存,

         默认值是20.75M,正常配置服务器内存的1/32

-XX:NewRation=2  #年轻代(Eden)占1,默认新生代占堆内存的1/3,老年代占堆空间2/3

-XX:MaxTenuringThreshold=15  #垃圾最大年龄,可以设置在0-15范围内,Java8默认是15

 

<think>好的,我需要回答用户关于JVM常用参数的问题。用户已经提供了四个引用,我需要仔细分析这些引用中的信息,并结合用户之前的问题来组织答案。首先,用户之前的问题是关于Java面试常见问题,其中涉及了JVM常用参数,现在用户进一步询问具体的参数列表及作用。根据引用[1]提到JVM参数汇总,引用[4]详细列出了几个关键参数-Xms-Xmx等。引用[3]和[2]也提到了方法和工具,但用户现在需要的是参数列表,所以重点应放在引用[1]和[4]上。 接下来,我需要整理这些参数,并分类说明。常见的参数可以分为堆内存设置、新生代配置、垃圾回收器选择、其他参数等。例如,-Xms-Xmx控制堆的初始和最大大小,这在引用[4]中被提到。新生代相关的参数-XX:NewSize和-XX:SurvivorRatio也需要解释。此外,垃圾回收器相关的参数-XX:+UseG1GC,以及辅助参数-XX:+PrintGCDetails,这些可能在引用[1]或[2]中有涉及。 需要注意的是,用户要求使用中文回答,并且数学表达式要用$...$格式。例如,在解释SurvivorRatio时,可能需要用比例表达式,如Eden:S0:S1=8:1:1,但这里不需要数学公式,所以可能不需要使用LaTeX。不过如果有涉及计算的地方,比如堆大小的比例,可以适当使用。 另外,用户希望生成相关问题,我需要根据JVM的主题,提出几个相关的问题,比如如何选择垃圾回收器、的步骤、如何分析内存泄漏等。这些问题应涵盖的不同方面,帮助用户进一步学习。最后,确保回答结构清晰,分点列出参数,每个参数的作用和示例都要明确。同时,正确添加引用标识,例如参数说明来自引用[4]的,在末尾添加[^4],来自引用[1]的添加[^1]等。需要检查引用是否准确,避免错误归属。 可能遇到的挑战是确保所有重要参数都被涵盖,并且分类合理。例如,除了堆和新生代参数,还有元空间、垃圾回收日志等参数也需要包括进去。需要参考提供的引用,确保没有遗漏关键点,同时保持回答简洁易懂。</think>### JVM常用参数列表及作用 以下是JVM的核心参数及其作用分类整理,结合性能化实践和内存管理需求[^1][^4]。 --- #### **1. 堆内存设置** - **`-Xms`** - **作用**:设置JVM初始堆大小(默认物理内存的1/64)。 - **示例**:`-Xms512m`(初始堆512MB)。 - **`-Xmx`** - **作用**:设置JVM最大堆大小(默认物理内存的1/4)。 - **示例**:`-Xmx2048m`(最大堆2GB)。 - **建议**:`-Xms`和`-Xmx`通常设为相同值,避免堆动态扩容导致性能波动[^4]。 --- #### **2. 新生代(Young Generation)配置** - **`-XX:NewSize`** / **`-XX:MaxNewSize`** - **作用**:设置新生代初始大小和最大大小。 - **`-XX:NewRatio`** - **作用**:设置老年代与新生代的比例(默认2,即老年代占2/3,新生代占1/3)。 - **示例**:`-XX:NewRatio=1`(老年代和新生代各占50%)。 - **`-XX:SurvivorRatio`** - **作用**:设置Eden区与Survivor区的比例(默认8,即Eden:S0:S1=8:1:1)。 - **示例**:`-XX:SurvivorRatio=4`(Eden:S0:S1=4:1:1)[^4]。 --- #### **3. 垃圾回收器选择** - **`-XX:+UseG1GC`** - **作用**:启用G1垃圾回收器(适合大堆、低延迟场景)。 - **`-XX:+UseParallelGC`** - **作用**:启用并行垃圾回收器(吞吐量先)。 - **`-XX:+UseConcMarkSweepGC`** - **作用**:启用CMS垃圾回收器(低停顿时间,已废弃,建议改用G1)。 --- #### **4. 元空间(Metaspace)配置** - **`-XX:MetaspaceSize`** - **作用**:设置元空间初始大小(默认约21MB)。 - **`-XX:MaxMetaspaceSize`** - **作用**:设置元空间最大大小(默认无限制,建议根据应用设置)。 --- #### **5. 其他关键参数** - **`-XX:+HeapDumpOnOutOfMemoryError`** - **作用**:在OOM时自动生成堆转储文件(用于分析内存泄漏)。 - **`-XX:HeapDumpPath`** - **作用**:指定堆转储文件路径。 - **示例**:`-XX:HeapDumpPath=/logs/heapdump.hprof`。 - **`-XX:+PrintGCDetails`** - **作用**:打印GC详细日志(用于分析GC频率和停顿时间)。 - **`-Xss`** - **作用**:设置单个线程的栈大小(默认1MB,需根据线程数整)[^1][^4]。 --- #### **示例配置** ```shell java -Xms2g -Xmx2g -XX:NewRatio=1 -XX:SurvivorRatio=4 -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -jar app.jar ``` - **说明**:设置堆大小为2GB,新生代与老年代各占50%,Eden区占比80%,使用G1回收器并限制最大GC停顿时间为200ms[^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值