EDAS应用JVM参数配置生产实践

整理了近期在项目上做的一些技术研究,希望与大家共同探讨交流。

如下参数建议是在长时间的生产环境运行中得出的参数配置建议。曾在多个大型项目中使用,单个项目中最大EDAS节点数量超过500个。虽然可以默认不优化参数,但是,企业生产实践中,仍建议配置优化,已达到最佳的服务状态。

EDAS应用可在EDAS控制台配置JVM参数,建议标准如下,可参考主机配置和java版本进行选择:

提示:

如下参数是在没有其他消耗内存的进程运行状态下的JVM配置
MaxMetaspaceSize与MaxPermSize根据Java版本选择使用
年轻代GC策略使用ParNew

4G内存服务器

-Xms1024m     ===    初始堆内存
-Xmx2048m     ===    最大堆内存
-XX:MaxMetaspaceSize=1024m     #java8  === 最大元空间
-XX:MaxPermSize=1024m          #java7  
-XX:+UseConcMarkSweepGC        ===  使用CMS收集器(年轻代gc策略使用ParNew)
-XX:+PrintGC                   ===  输出GC日志(输入gc日志路径默认开启)
-XX:+PrintGCDateStamps         ===  输出GC日志的形式(输入gc日志路径默认开启)
-Xloggc:/home/admin/gc.log     ===  GC日志路径 
-XX:+UseGCLogFileRotation      ===  启用GC日志文件的自动转储(输入gc日志路径默认开启)
-XX:NumberOfGCLogFiles=3       ===  文件个数
-XX:GCLogFileSize=300m         ===  文件大小
-XX:+HeapDumpOnOutOfMemoryError  === OOM 内存溢出时dump内存(配置dump路径自动开启)
-XX:HeapDumpPath=/home/admin     === dump路径

EDAS应用JVM参数配置生产实践
EDAS应用JVM参数配置生产实践

8G内存服务器

-Xms2048m 
-Xmx4096m 
-XX:MaxMetaspaceSize=1024m     #java8
-XX:MaxPermSize=1024m          #java7
-XX:+UseConcMarkSweepGC 
-XX:+PrintGC 
-XX:+PrintGCDateStamps 
-Xloggc:/home/admin/gc.log 
-XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=3 
-XX:GCLogFileSize=300m 
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/admin

16G及以上内存服务器

-Xms4096m 
-Xmx8192m 
-XX:MaxMetaspaceSize=1024m     #java8
-XX:MaxPermSize=1024m          #java7
-XX:+UseConcMarkSweepGC 
-XX:+PrintGC 
-XX:+PrintGCDateStamps 
-Xloggc:/home/admin/gc.log 
-XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=3 
-XX:GCLogFileSize=300m 
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/admin
上一篇:Mac Terminal ssh连接linux服务器中文乱码


下一篇:JDK1.8 nashorn 引擎使用