日期:2014-05-20  浏览次数:20784 次

java.lang.OutOfMemoryError: Java heap space解决方案?
将开发好的java应用程序(多线程的)部署到linux机器后,运行一段时间就会因
java.lang.OutOfMemoryError:   Java   heap   space而终止.

启动脚本为:JAVA   -Xms80m   -Xmx256m   -XX:ThreadStackSize=128   -jar   myApp.jar

虽然jvm的最大内存设为256m但运行很长一段时间后还是超出256,达到330多m.

这种问题如何解决?
如果时内存泄漏,那如何查找导致泄漏的代码?

另外,各位高手能否指点一下防止内存泄漏的编码规则?
谢谢!


------解决方案--------------------
windows 更改系统环境变量
加上JAVA_OPTS=-Xms64m -Xmx512m
Linux 在{tomcat_home}/bin/catalina.sh的前面,加
set JAVA_OPTS= '-Xms64 -Xmx512 '
------解决方案--------------------
你把-Xmx256m 改大点不就好了嘛
------解决方案--------------------
lz的两位做法可以采纳,但绝对不是根本解决问题的方法。


------解决方案--------------------
最好用检测内存泄漏的工具检测一下程序
http://dev.yesky.com/56/2591556.shtml
你可以参考看一下这篇文章