# 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 # 压缩类指针