处理java.lang.OutOFMemoryError
2005-07-15 14:29
507 查看
这种错误一般因为一次需要太多的内存而JVM内存不够引起,比如把一个有几十万行的数据表中的数据全部一次select出来放到ResultSet中很可能会引起OutOFMemoryError。如果不是代码问题,确定需要很大的内存才能执行,那就修改Java虚拟机的内存,如在jdk运行增加初始化内存和最大内存参数:
java -ms512m -mx512m <app>
java -Xmx128m zastron.huan.ResultMatrix
如在eclipse中,可在eclipse VM argguments里加上一个参数:
-Xmx256M
附:增加Tomcat使用内存
作者:onlyme 文章来源:csdn 点击数: 更新时间:2004-10-24
大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。
所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:
如:java -Xms64m -Xmx128m a.jar.
tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。在Tomcat在改变这个设置
有两种方法:
1. 就需要在环境变量中加上TOMCAT_OPTS, CATALINA_OPTS两个属性,
如 SET CATALINA_OPTS= -Xms64m -Xmx512m; JAVA_OPTS="-mx512m -ms128m ",
ms是最小的,mx是最大,64m, 512m分别是指内存的容量.
2. 修改Catalina.bat文件
在166行“rem Execute Java with the applicable properties ”以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% 中的%CATALINA_OPTS% 替换成-Xms64m -Xmx512m
java -ms512m -mx512m <app>
java -Xmx128m zastron.huan.ResultMatrix
如在eclipse中,可在eclipse VM argguments里加上一个参数:
-Xmx256M
附:增加Tomcat使用内存
作者:onlyme 文章来源:csdn 点击数: 更新时间:2004-10-24
大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。
所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:
如:java -Xms64m -Xmx128m a.jar.
tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。在Tomcat在改变这个设置
有两种方法:
1. 就需要在环境变量中加上TOMCAT_OPTS, CATALINA_OPTS两个属性,
如 SET CATALINA_OPTS= -Xms64m -Xmx512m; JAVA_OPTS="-mx512m -ms128m ",
ms是最小的,mx是最大,64m, 512m分别是指内存的容量.
2. 修改Catalina.bat文件
在166行“rem Execute Java with the applicable properties ”以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% 中的%CATALINA_OPTS% 替换成-Xms64m -Xmx512m
相关文章推荐
- java.lang.OutOfMemoryError: Java heap space 的处理办法
- java.lang.OutOfMemoryError异常解决方法
- java.lang.OutOfMemoryError: PermGen space 解决截图
- java.lang.OutOfMemoryError: Java heap space解决方法
- java.lang.OutOfMemoryError: Java heap space 解决方法
- java.lang.OutOfMemoryError: PermGen space tomcat的处理办法
- java.lang.OutOfMemoryError: unable to create new native thread解决方法
- Tomcat Xms Xmx PermSize MaxPermSize 区别 及 java.lang.OutOfMemoryError: PermGen space 解决
- java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)
- ImageLoader- java.lang.OutOfMemoryError
- java.lang.OutOfMemoryError: Java heap space 解决方法
- 解决Eclipse和MyEclipsejava.lang.OutOfMemoryError Java heap space的错误
- java.lang.OutOfMemoryError: PermGen space 问题解决
- java.lang.OutOfMemoryError: PermGen space
- myeclipse执行tomcat报错Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
- java.lang.OutOfMemoryError: PermGen space
- 【转载】java项目中经常碰到的内存溢出问题: java.lang.OutOfMemoryError: PermGen space, 堆内存和非堆内存,写的很好,理解很方便
- 高并发请求服务器时,经常出现如下异常:java.lang.OutOfMemoryError: unable to create new native thread的解决方法
- Stanford coreNLP 出现 in thread "main" java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space 解决方法