生产环境-各规格硬件 jvm配置参数

3 篇文章 0 订阅
序号硬件参数
18C16GG1: export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms8192m -Xmx8192m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:ParallelGCThreads=8 -XX:ConcGCThreads=4 -XX:CICompilerCount=4 -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/
24C8G

G1: export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms4096m -Xmx4096m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 -XX:CICompilerCount=2 -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/"

CMS: export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms4096m -Xmx4096m -XX:MetaspaceSize=256m -XX:MaxDirectMemorySize=512m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:NewRatio=2 -XX:ParallelGCThreads=4 -XX:ConcGCThreads=2 -XX:CICompilerCount=2 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/"

ParallelGC(1.8默认): export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms4096m -Xmx4096m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:ParallelGCThreads=4 -XX:CICompilerCount=2 -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/"

316C32GG1(使用了OHC堆外缓存,配置了堆外内存大小): export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms20480m -Xmx20480m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:ParallelGCThreads=16 -XX:ConcGCThreads=8 -XX:CICompilerCount=8 -XX:G1HeapRegionSize=8m -XX:MaxDirectMemorySize=8192m -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/"
48C12G参考8C16G的配置,注意按规范控制Xmx的大小
516C16G使用G1: export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms8192m -Xmx8192m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:ParallelGCThreads=16 -XX:ConcGCThreads=8 -XX:CICompilerCount=8 -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs/"

参数说明

JVM GC方法ParallelGC:1.8默认,高吞吐量,响应时间不敏感 CMS:响应优先,堆内存8G以下优先选择 G1:响应优先,堆内存8G及以上选择C端应用:8G及以上选择G1,8G以下选择CMS B端应用:推荐使用ParallelGC
MaxDirectMemorySize堆外内存大小一般无需配置 使用了OHC等堆外缓存的需要配置
ParallelGCThreads并行GC时的线程数(ParallelGC、CMS、G1均适用) 此值过小,则stw时间变长,此值过大,影响吞吐量,CPU过高必须配置 =容器核数
ConcGCThreads并发标记时的线程数 并发标记时并没有stw,CPU密集型任务(CMS、G1才有并发标记步骤)限CMS、G1必须配置 ParallelGCThreads的20%~50% 一般为ParallelGCThreads/4或ParallelGCThreads/2
CICompilerCountJIT进行热点编译的线程数 CPU密集型任务必须配置(值要大于2) 推荐值如下: 1C容器 : 2 2C容器:2 4C容器 : 2~4 8C容器:2~4 16C容器 : 4~12
MetaspaceSize MaxMetaspaceSize元空间初始大小、元空间最大大小 如果未指定初始大小,默认是20m,应用启动时如果不够就会gc来扩容 元空间并不在虚拟机中,而是使用本机内存,因此受本机内存限制jdk1.8适用,必须配置 需要大于256M
Xmn NewRatioXmn:新生代内存大小 NewRatio:老年代与新生代与内存容量的比例 x:1 这2个参数只需设置其中1个即可,若都设置了,以Xmn为准CMS必须设置,只需配置其中1个参数;G1不要设置 Xmn=堆内存Xmx的 1/3 NewRatio=2
UseCMSInitiatingOccupancyOnly CMSInitiatingOccupancyFraction=xCMSInitiatingOccupancyFraction为堆内存占用率达到百分比时开始GC的阈值 默认不设置时,由JVM自动计算垃圾回收的周期CMS必须设置 推荐值70~80
UseCMSCompactAtFullCollection CMSFullGCsBeforeCompaction=xCMSFullGCsBeforeCompaction为配置fullGC时,进行了多少次fullGC之后对老年代进行压缩整理处理碎片CMS专用,不强制 推荐值1
HeapDumpOnOutOfMemoryError HeapDumpPath=/export/Logs/首次遭遇OOM时导出此时堆中相关信息 路径带“/”则为目录,否则为文件必须配置 文件目录需要为已存在的目录,若配置为具体文件,其所属目录也需要为已存在的目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值