我使用了sun网站的“内存不足”帮助。引用为
内存不足:请求的阵列大小超出了VM限制
这表明应用程序试图分配一个大于堆大小的数组。例如,如果应用程序尝试分配512MB的数组,但最大堆大小为256MB,则将引发此错误。在大多数情况下,问题可能是堆大小太小,或者是错误导致应用程序尝试创建其大小计算错误地巨大的数组。
我试图通过模拟
import java.util.ArrayList;
import java.util.List;
public class JavaTest {
public static void main(String[] args){
long[] ll = new long[64*1024*1024];
}
}
在我的机器上
javac *.java;java -Xmx256m JavaTest
但是上面的线正在产生
线程“主”中的异常java.lang.OutOfMemoryError:Java堆空间
在JavaTest.main(JavaTest.java:7)
我想念什么?
更新: 我的java版本是
$ java-版本
Java版本“ 1.6.0_15”
Java(TM)SE运行时环境(内部版本1.6.0_15-b03)
Java HotSpot(TM)服务器VM(内部版本14.1-b02,混合模式)
为了我
long[] l = new long[Integer.MAX_VALUE];
产量 Exception in thread "main" java.lang.OutOfMemoryError: Requested array size exceeds VM limit
PS: 如果您需要出于测试目的而产生异常,则也可以只是您throw new OutOfMemoryError("Requested array size exceeds VM limit")
自己。
问题内容: 有没有一种简单的方法可以在模拟器内部模拟低内存?我有兴趣执行类似于此帖子的资源清理 问题答案: 从外壳调用命令。 这会将当前内存限制设置为10000 Kb,这样以后从此Shell调用的所有应用程序将无法访问更多内存。
上面链接中的代码正在工作,但可以传输到一定数量的数据。当我试图传输一个大小约为334 MB的.mkv格式的电影时,它给出了“内存不足,java堆大小”的错误。我是一个乞丐,我不知道如何解决这个问题,我试图在客户端程序中增加缓冲区大小,但问题仍然存在。请帮帮我.
请我想知道如何解决这个问题。当我试图构建签名apk时就会发生这种情况。
我正在运行一个MapReduce Pipes程序,并将内存限制设置为如下所示: 在yarn-site.xml中: 在mapred-site.xml中: 我当前运行在伪分布式模式下的单个节点上。我在关闭容器之前收到以下错误: 问候,
我有一个带有SpringWeb服务的SpringBoot2应用程序,我试图限制传入请求的最大大小。我尝试使用以下属性,但不起作用。 您知道使用SpringWeb服务在SpringBoot2应用程序中限制传入请求最大大小的任何有效解决方案吗?在Spring Web服务文档中,有信息表明Spring Web服务提供了基于Sun的JRE 1.6 HTTP服务器的传输。也许这是个问题?
问题内容: 我正在尝试找到一种方法来限制Python VM可用的内存,就像Java VM中的选项“ -Xmx”一样。(这个想法是为了能够处理MemoryError异常) 我不确定该选项是否存在,但是可能存在使用操作系统命令“隔离”进程及其内存的解决方案。 谢谢。 问题答案: 在* nix上,您可以使用该命令,特别是-m(最大内存大小)和-v(虚拟内存)。