JVM参数配置

一、JVM参数类型

在生产环境中,一般情况下配置的参数有3种类型的:

  1. -X:非标准参数,不是每个虚拟机都实现了,例如-Xms2g
  2. -XX:非稳定性参数,例如-XX:NewSize=2g
    使用方式有下面3种:
    -XX:+<option> 开启option参数
    -XX:-<option> 关闭option参数
    -XX:-<option>=<value> 将option参数的值设置为value
  3. -D:用于自定义参数,设置的值可以通过System.getProperty(String name)方法获取,例如:-Dlog.dir=/data/log

通过java -h命令,可以查看所有标准参数,常见的有-D、-version、-classpath
这里写图片描述
通过java -X命令,可以查看所有-X参数,常见的有-Xms、-Xmx、-Xss
这里写图片描述

二、内存管理参数

1、堆栈大小设置

参数默认值使用介绍示例
-Xms堆内存的1/64堆的最小值-Xms6g
-Xmx堆内存的1/4堆的最大值-Xmx6g
-Xss栈的大小-Xss1m
-XX:NewSize堆中新生代的初始值-XX:NewSize=2g
-XX:MaxNewSize堆中新生代的最大值-XX:MaxNewSize=4g
-XX:PermSize方法区的初始值-XX:PermSize=256g
-XX:MaxPermNewSize方法区的最大值-XX:MaxPermSize=512g
-XX:NewRatio2新生代和老年代的比值-XX:NewRatio=4
(表示新生代:老年代=1:4,
即新生代占堆的1/5)
-XX:SurvivorRatio8新生代中surviivor区和eden区的比值-XX:SurvivorRatio=8
(表示survivor:eden=1:8,
即一个survivor占新生代的1/10)
-XX:+HeapDumpOnOutOfMemoryError默认关闭发生OOM时自动dump堆转储文件
-XX:HeapDumpPathdump文件路径-XX:HeapDumpPath=/data/log/heapdump.bin

2、垃圾回收设置

参数默认值使用介绍示例
-XX:+UseSerialGCClient模式的虚拟机默认开启Client模式下,使用Serial+Serial Old的收集器组合进行垃圾回收
-XX:+UseParNewGC默认关闭使用ParNew+Serial Old的收集器组合进行垃圾回收
-XX:+UseParallelGCserver模式的虚拟机默认开启使用Parallel Scavenge+Serial Old的收集器组合进行垃圾回收
-XX:+UseParallelOldGC默认关闭使用Parallel Scavenge+Parallel Old的收集器组合进行垃圾回收
-XX:+UseConcMarkSweepGC默认关闭使用ParNew+CMS+Serial Old的收集器组合进行垃圾回收。如果CMS收集器出现Concurrent Mode Failure,则Serial Old收集器将作为后备收集器-XX:+UseConcMarkSweepGC
-XX:ParallelCMSThreads小于等于8个CPU时默认值为CPU的个数,多于8个时比CPU的数量少设置GC时进行内存回收的线程数-XX:ParallelCMSThreads=2
-XX:+PrintGCDetails默认关闭发生垃圾回收时打印内存回收日志
-XX:+PrintGCTimeStamps默认关闭发生垃圾回收时打印回收时间
-Xloggc设置GC记录的文件Xloggc:/data/log/tomcat/gc.log
-XX:+UseGCLogFileRotation默认关闭启用GC日志文件的自动转储
-XX:GCLogFileSize默认关闭控制GC日志文件的大小-XX:GCLogFileSize=1M

3、多线程相关参数

参数默认值使用介绍示例
-XX:+UsedBiasedLocking默认开启是否使用偏向锁
最后,给大家提供一个8核8G的机器常用的配置:
-Xms6g
-Xmx6g
-Xss1m
-XX:NewSize=2g
-XX:MaxNewSize=4g
-XX:NewRatio=4g
-XX:SurvivorRatio=8 
-XX:+AggressiveOpts 
-XX:+UseBiasedLocking 
-XX:+UseConcMarkSweepGC 
-XX:ParallelCMSThreads=2 
-XX:+PrintGCDetails 
-XX:+PrintGCTimeStamps 
-Xloggc:/data/log/gc.log 
-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=/data/log/heapdump.bin 
-XX:+CMSParallelRemarkEnabled 
-XX:+ScavengeBeforeFullGC 
-XX:CMSInitiatingOccupancyFraction=75
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值