今天使用weblogic9.2时产生了内存益处的错误.
解释一下(网上看的):PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中, 它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对 PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误, 这种错误常见在web服务器对JSP进行pre compile的时候。
解决方法:
- 在weblogic/common/bin/commEnv.sh中配置
- MEM_ARGS="-Xms32m -Xmx200m -XX:MaxPermSize=128m"
- -Xms:内存初始值
- -Xmx:内存最大值(不要超过内存的80%)
- MaxPermSize:PermGen(Class和Meta存放区域)区域内存最大值。
- 可调整为:
- MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=256m"
- -XX:MaxPermSize改为256或512