java out of memory heap space 异常 发布时间: 2013-07-09 09:50:47 作者: rapoo
java out of memory heap space 错误 在写一个程序,需要用到一个四维数组,每一维的长度是2173*175*200*10,类型时double型的,现在每次运行程序的时候都在分配这个四维数组的时候出现out of memory错误,放到服务器上也一样,服务器内存16G,我把eclipse安装目录下面的eclipse.ini文件中的-Xmx设置为16384m,运行后还是这个错误,请问该怎么解决啊 [解决办法] 这个应该把它送到数据库里面,程序里的内存估计不够大。[解决办法]
引用: 我们可以进行计算一下这个四维数组所占用的空间2173*175*200*10*4B=3042200000B =2901MB=3G 所以说16g的内存还是可以放下的,出现这个问题有可能你实际上没有为你的java程序分配16g的空间 不妨做以下设置试试 java -Xmx10240m -Xms10240m 然后如果是linux服务器的话,可以ps看下。 当然需要注意的是对于32位的机器,我没记错的话,可以给java进程分配的最大空间为1.6g. 靠 10240是10G 吧, 应该用64位的系统
[解决办法] 引用: Quote: 引用: 我们可以进行计算一下这个四维数组所占用的空间2173*175*200*10*4B=3042200000B =2901MB=3G 所以说16g的内存还是可以放下的,出现这个问题有可能你实际上没有为你的java程序分配16g的空间 不妨做以下设置试试 java -Xmx10240m -Xms10240m 然后如果是linux服务器的话,可以ps看下。 当然需要注意的是对于32位的机器,我没记错的话,可以给java进程分配的最大空间为1.6g. double数组不应该是8B吗,应该是6G才对吧。 另外,我把eclipse.ini的-Xmx参数改为了16384m,但是还是溢出,你是说我的这个参数没有起作用吗?难道非得在eclipse里面再run configuration里面再设置一次? 多谢了!!16384m 是16G吧,你机器一共才16G不应该分配这么多的。很容崩溃的。
另外eclipse分配的是给eclipse用的
你的程序会再起一个jvm,另外分配内存。 所以你不应该配置eclipse,应该配你那个应用的run config