3 个回答
这里给一个我们生产商的配置优化示例
# fe.conf 典型配置(32G内存服务器)
JAVA_OPTS="-Xms16g -Xmx16g \
-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m \
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 \
-XX:InitiatingHeapOccupancyPercent=40 \
-XX:+PrintGCDetails -XX:+PrintGCDateStamps \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/opt/doris/fe/log/fe_heap_dump.hprof \
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M \
-XX:+DisableExplicitGC \
-XX:MaxDirectMemorySize=8g"
发布于:2周前 (05-22) IP属地:
涉及到的jvm优化有:
1、调整堆内存
1、调整堆内存
生产环境堆内存≥16GB,不超过物理内存的50%(剩余内存留给元数据缓存和网络缓冲)
2、固定元数据区JAVA_OPTS="-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m" # 避免动态扩容
3、设置堆外内存JAVA_OPTS="-XX:MaxDirectMemorySize=4g" # 用于网络传输缓冲区,建议4-8G
4、配置G1垃圾回收JAVA_OPTS="-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:InitiatingHeapOccupancyPercent=40
-XX:G1ReservePercent=20"
5、线程与锁优化JAVA_OPTS="-XX:-UseBiasedLocking # 禁用偏向锁(高并发更稳定)
-XX:+UseFastAccessorMethods # 优化访问器方法
-XX:-UseCounterDecay # 禁止JIT计数器衰减
-Djava.security.egd=file:/dev/./urandom" # 加速随机数生成
发布于:2周前 (05-22) IP属地:
6、禁用显示GC
JAVA_OPTS="-XX:+DisableExplicitGC" # 防止System.gc()触发Full GC
发布于:2周前 (05-22) IP属地:
我来回答
您需要 登录 后回答此问题!