Ubuntu系统下WebLogic内存配置建议
WebLogic的内存配置核心是通过JVM堆内存参数控制应用的内存分配,需修改域(Domain)的启动脚本(setDomainEnv.sh,位于domain目录/bin/下)。关键参数说明及建议:
-Xms2048m),避免JVM动态扩展堆内存带来的性能损耗。-XX:NewSize=512m -XX:MaxNewSize=512m),新生代用于存放新创建的对象,建议设置为堆内存的1/4-1/3,优化年轻代垃圾回收效率。-XX:MaxPermSize=512m或-XX:MaxMetaspaceSize=512m),用于存放类元数据。若应用加载大量类(如动态生成的类),需适当增大此值,避免OutOfMemoryError: PermGen space错误。-XX:PermSize(初始永久代大小),建议与-XX:MaxPermSize保持一致(如-XX:PermSize=512m -XX:MaxPermSize=512m),减少永久代的动态扩展开销。-XX:MaxMetaspaceSize(如-XX:MaxMetaspaceSize=512m),并移除-XX:PermSize相关参数,避免永久代的内存泄漏风险。OutOfMemoryError(如堆内存溢出、元空间溢出),需逐步增大对应参数(如从2048m增至4096m),并通过jstat -gcutil <pid>命令监控GC情况,确认调整效果。Console -> Server -> Monitoring -> Performance)查看堆内存利用率、GC频率等指标;或使用jconsole、VisualVM等工具实时监控,及时发现内存瓶颈。swappiness参数(sudo sysctl -w vm.swappiness=10),降低系统对交换分区(Swap)的依赖,减少内存交换带来的性能下降;若应用需要大量内存,可启用zram或zswap技术,将闲置内存压缩存储,提升内存利用率。修改domain目录/bin/setDomainEnv.sh文件,在文件开头添加以下内容(根据实际情况调整数值):
export MEM_ARGS="-Xms2048m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:MaxMetaspaceSize=512m"
保存后重启WebLogic服务,使配置生效。