Files
server/jvm-optimization.properties
2025-11-25 17:44:34 +08:00

61 lines
2.3 KiB
Properties

# JVM内存优化配置文件
# 用于防止OOM问题的JVM参数配置
# 基础内存设置
-Xms1g # 初始堆内存大小
-Xmx2g # 最大堆内存大小
-XX:NewRatio=1 # 年轻代与老年代比例
-XX:SurvivorRatio=8 # Eden与Survivor区比例
# 垃圾收集器优化
-XX:+UseG1GC # 使用G1垃圾收集器
-XX:MaxGCPauseMillis=200 # 最大GC暂停时间目标
-XX:G1HeapRegionSize=16m # G1区域大小
-XX:InitiatingHeapOccupancyPercent=45 # 触发并发GC的堆占用率
# OOM预防
-XX:+HeapDumpOnOutOfMemoryError # OOM时生成堆转储
-XX:HeapDumpPath=/app/dumps/ # 堆转储文件路径
-XX:+UseGCLogFileRotation # GC日志轮转
-XX:NumberOfGCLogFiles=5 # 保留GC日志文件数量
-XX:GCLogFileSize=10M # 单个GC日志文件大小
# 容器环境优化
-XX:+UseContainerSupport # 启用容器支持
-XX:MaxRAMPercentage=80.0 # 最大使用容器80%内存
-XX:+UnlockExperimentalVMOptions # 解锁实验性VM选项
-XX:+UseCGroupMemoryLimitForHeap # 使用cgroup内存限制
# 字符串优化
-XX:+UseStringDeduplication # 启用字符串去重
-XX:StringTableSize=200000 # 字符串表大小
# 类加载优化
-XX:+UseCompressedOops # 压缩对象指针
-XX:+UseCompressedClassPointers # 压缩类指针
# 监控和日志
-XX:+PrintGCDetails # 打印GC详细信息
-XX:+PrintGCTimeStamps # 打印GC时间戳
-XX:+PrintGCApplicationStoppedTime # 打印GC暂停时间
-Xloggc:/app/logs/gc.log # GC日志文件路径
# 网络和IO优化
-Djava.awt.headless=true # 无头模式
-Dfile.encoding=UTF-8 # 文件编码
-Duser.timezone=Asia/Shanghai # 时区设置
# Spring Boot特定优化
-Dspring.jmx.enabled=false # 禁用JMX
-Dspring.output.ansi.enabled=never # 禁用ANSI颜色
-XX:+TieredCompilation # 分层编译
-XX:TieredStopAtLevel=1 # 快速编译
# 异常处理
-XX:+OmitStackTraceInFastThrow # 快速抛出异常时省略堆栈
-XX:+AlwaysPreTouch # 预分配内存页
# 元空间优化
-XX:MetaspaceSize=256m # 初始元空间大小
-XX:MaxMetaspaceSize=512m # 最大元空间大小
-XX:+UseCompressedOops # 压缩类指针