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路径

_1
_2

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
相关实践学习
微服务实战-服务注册中心 - Nacos
Nacos是阿里巴巴于2018年7月发布的一个开源项目,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 支持几乎所有主流类型的服务的发现、配置和管理: Kubernetes Service  gRPC & Dubbo RPC Service  Spring Cloud RESTful Service  
目录
相关文章
|
SQL Java 关系型数据库
Dataphin功能Tips系列(53)-离线集成任务如何合理配置JVM资源
本文探讨了将MySQL数据同步至Hive时出现OOM问题的解决方案。
374 5
|
Arthas 监控 Java
(十一)JVM成神路之性能调优篇:GC调优、Arthas工具详解及各场景下线上最佳配置推荐
“在当前的互联网开发模式下,系统访问量日涨、并发暴增、线上瓶颈等各种性能问题纷涌而至,性能优化成为了现时代开发过程中炙手可热的名词,无论是在开发、面试过程中,性能优化都是一个常谈常新的话题”。
1886 3
|
Java Android开发 开发者
【编程进阶知识】精细调控:掌握Eclipse JVM参数配置的艺术
本文详细介绍了如何在Eclipse中配置JVM参数,包括内存的初始和最大值设置。通过具体步骤和截图演示,帮助开发者掌握JVM参数的精细调控,以适应不同的开发和测试需求。
452 1
|
Kubernetes Java 编译器
解锁极致性能:Quarkus如何让JVM应用调优变得前所未有的简单与高效!
Quarkus是一款专为GraalVM和OpenJDK设计的Kubernetes Native Java框架,采用AOT编译技术将Java应用转化为本地代码,大幅提升启动速度与运行效率。它简化了性能调优流程,如自动优化垃圾回收、类加载、内存管理及线程管理等,使开发者无需深入理解JVM细节即可轻松提升应用性能。与传统JVM应用相比,Quarkus显著降低了性能调优的复杂度。
459 2
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
168 0
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
|
存储 Java
java 服务 JVM 参数设置配置
java 服务 JVM 参数设置配置
538 3
|
安全 Java fastjson
JVM 配置参数 -D,-X,-XX 的区别
JVM 配置参数 -D,-X,-XX 的区别
447 2
|
算法 Java 应用服务中间件
探索JVM垃圾回收算法:选择适合你应用的最佳GC策略
探索JVM垃圾回收算法:选择适合你应用的最佳GC策略
|
存储 监控 算法
深入解析JVM内部结构及GC机制的实战应用
深入解析JVM内部结构及GC机制的实战应用
|
弹性计算 运维 Java
Serverless 应用引擎使用问题之JVM进行垃圾回收时重启,该如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。