栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

JVM内存的推荐配置说明和实践

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JVM内存的推荐配置说明和实践

JVM堆的各个区大小分配比例遵循一些基本原则:

1、Java整个堆大小设置,Xmx和 Xms设置为老年代存活对象的3-4倍(即FullGC之后的老年代内存占用的3-4倍)

2、年轻代Xmn的设置为老年代存活对象的1-1.5倍。

3、老年代的内存大小设置为老年代存活对象的2-3倍。

4、永久代 PermSize和MaxPermSize设置为老年代存活对象的1.2-1.5倍。

另:

1、Sun官方建议年轻代的大小为整个堆的3/8左右, 所以按照上述设置的方式,基本符合Sun的建议。 

2、堆大小=年轻代大小+年老代大小, 即xmx=xmn+老年代大小。Permsize不影响堆大小。

3、为什么要按照上面的来进行设置呢?没有具体的说明,但应该是根据多种调优之后得出的一个结论。

根据上面的说明,列举一些JVM堆内存在k8s上的实际配置(以下参数配置适用于非计算密集型的大部分应用):

Docker实例内存为2G时:

-Xmx1344M -Xms1344M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M

Docker实例内存为3G时:

-Xmx2048M -Xms2048M -Xmn768M -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M

Docker实例内存为4G时:

-Xmx2688M -Xms2688M -Xmn960M -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M

Docker实例内存为5G时:

-Xmx3392M -Xms3392M -Xmn1216M -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M

Docker实例内存为6G时:

-Xmx4096M -Xms4096M -Xmn1536M -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M

Docker实例内存为7G时:

-Xmx4736M -Xms4736M -Xmn1728M -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M

Docker实例内存为8G时:

-Xmx5440M -Xms5440M -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M

其它的基础配置参数:

实例内存>=8G时

-server-XX:+DisableExplicitGC-XX:+UseG1GC-XX:MaxGCPauseMillis=100-XX:+ParallelRefProcEnabled-XX:+HeapDumpOnOutOfMemoryError-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintHeapAtGC-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCDateStamps-XX:ErrorFile=/var/app/gc/hs_err_pid%p.log-XX:HeapDumpPath=/var/app/gc-Xloggc:/var/app/gc/gc%t.log

实例内存<8G时的基础配置

-server-XX:+DisableExplicitGC-XX:+UseParNewGC-XX:+UseConcMarkSweepGC-XX:+UseCMSInitiatingOccupancyOnly-XX:CMSInitiatingOccupancyFraction=70-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses-XX:+CMSClassUnloadingEnabled-XX:+ParallelRefProcEnabled-XX:+CMSScavengeBeforeRemark-XX:+HeapDumpOnOutOfMemoryError-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintHeapAtGC-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCDateStamps-XX:ErrorFile=/var/app/gc/hs_err_pid%p.log-XX:HeapDumpPath=/var/app/gc-Xloggc:/var/app/gc/gc%t.log

http://dockone.io/article/2249

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893049.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号