您的位置:首页 > 编程语言 > Java开发

java.lang.OutOfMemoryError 解决方法

2006-10-16 14:07 507 查看
在数据查询模块中,有个分页显示,由于Sybase低版本不支持Top 查询命令,使分页不得不每次返回全部记录。查大时间段数据出现 java.lang.OutOfMemoryError。

解决方法:调整bea/weblogic81/common/bin/CommEnv.cmd中参数
:sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms512m -Xmx1024m -XX:MaxPermSize=256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms512m -Xmx1024m -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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: