WebLogic在Debian上的JVM参数调优可从以下方面入手:
- 内存设置
- 初始堆内存(-Xms)和最大堆内存(-Xmx):建议设置为相同值,避免动态扩展,通常为服务器内存的50%-70%,如
-Xms4g -Xmx4g
。
- 元空间(-XX:MetaspaceSize/-XX:MaxMetaspaceSize):初始值与最大值可设为512MB-1GB,避免频繁扩展。
- 垃圾回收器选择
- 推荐使用G1垃圾回收器(-XX:+UseG1GC),适合大内存堆,可减少停顿时间。
- 可调整G1参数:
-XX:MaxGCPauseMillis=200
(设置最大GC停顿时间)、-XX:InitiatingHeapOccupancyPercent=45
(触发并发GC的堆占用率)。
- 线程与性能优化
- 线程栈大小(-Xss):一般设为256KB-512KB,节省内存。
- 启用分层编译(-XX:+TieredCompilation)和调整编译阈值(-XX:CompileThreshold=1500),优化JIT编译性能。
- 日志与监控
- 启用GC日志:
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/path/to/gc.log
,便于分析内存回收情况。
- 生产环境建议通过WebLogic控制台或JMX监控JVM指标,结合APM工具定位性能瓶颈。
- 配置文件修改
- 编辑
setDomainEnv.sh
(位于/weblogic/user_projects/domains/base_domain/bin/
),在JAVA_OPTIONS
中添加参数。
- 部分场景可通过
config.xml
配置内存参数,但需注意版本兼容性。
注意事项:
- 调整前需在测试环境验证,避免生产环境直接修改导致异常。
- 监控内存使用情况(如通过
top
或JVisualVM),根据实际负载动态调整。
- 避免过度分配内存,预留部分资源给操作系统和其他服务。
参考来源: