现在的位置: 首页 > 综合 > 正文

jvm内存不足解决

2013年04月14日 ⁄ 综合 ⁄ 共 646字 ⁄ 字号 评论关闭

原来在服务器上部署的程序跑的很好,最近由于数据量剧增,报了些错误,没办法只好跟踪下源程序。可惜不太给力,由于数据量过大在eclipse 中调试的还没怎么调几下就Caused by: java.lang.OutOfMemoryError: Java heap space,想尝试修改eclipse 的init文件增大内存没怎么管用,google下找下解决方法在此记录下以备后查:

 

 

只要选中这个内存溢出的工程点右键run as Run Condfigrations 在 vm arguments里面写
-Xmx512m 就可以了

说明:
eclipse单个程序的jvm设置
eclipse 有启动参数里设置jvm大小,
因为eclipse运行时自己也需要jvm,所以eclipse.ini里设置的jvm大小不是具体某个程序运行时所用jvm的大小,这和具体程序运行的jvm大小无关。

那么怎么才能设置某个程序的jvm大小呢(当然控制台运行的话不会存在这个问题,如:java -Xms256m -Xmx1024m classname,这样就可以把当前程序的jvm大小给设定)?

因为eclipse里默认的一个程序的jvm配置为:-Xms8m -Xmx128m,所以我们的处理耗内存比较大时需要手动调整一下,以便不会内存溢出。具体的设置方法为:

选中被运行的类,点击菜单‘run->run...’,选择(x)=Argument标签页下的vm arguments框里输入 -Xmx512m, 保存运行就ok了

 

接下来继续跟踪源码,终于找到服务器部署程序错误原因。

抱歉!评论已关闭.