Root cause of ServletException java.lang.OutOfMemoryError解决方法

类别:Java 点击:0 评论:0 推荐:

问题描述:下载电子报表,当电子报表过大发生"Root cause of
ServletException  java.lang.OutOfMemoryError"
  问题状态:已解决
  解决方法:调整bea/weblogic/common中CommEnv中参数
       :sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms256m -Xmx512m -XX:MaxPermSize=256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms256m -Xmx512m -XX:MaxPermSize=256m
goto continue

即解决此问题

reference:

MaxPermSize:
The permanent space is memory allocated outside the regular
heap (i.e. in addition to the -Xmx setting), so it is important
 to ensure there is enough physical RAM on the machine.
The permanent space is used to primarily store classes and
objects created for reflection support (methods etc.). If
you have a large number of classes in a Java application,
an OOM can occur if the PermSize is too small.

From one of your previous posts, you seem to have 8 applications,
 so yes, setting the PermSize and/or MaxPermSize could help.
Also, 256MB sounds small for a server with 8 applications.
The OOM could simply indicate that your heap is too small.
Hope this helps,
Arunabh

本文地址:http://com.8s8s.com/it/it10018.htm