我正在运行一个makefile,过了一会儿我收到以下错误:
java.lang.OutOfMemoryError
我想知道是否有一个命令可以让我增加 Java 堆空间。我不想更改 makefile 本身,所以我需要某种“全局”命令来允许我重置 Java 堆空间。
非常感谢,帕特里克
编辑:感谢您的回答。但我正在寻找一个更全局的命令,它允许我一劳永逸地指定设置堆空间,例如:
设置 JAVA_HEAP_SPACE = 5GB
谢谢
我正在运行一个makefile,过了一会儿我收到以下错误:
java.lang.OutOfMemoryError
我想知道是否有一个命令可以让我增加 Java 堆空间。我不想更改 makefile 本身,所以我需要某种“全局”命令来允许我重置 Java 堆空间。
非常感谢,帕特里克
编辑:感谢您的回答。但我正在寻找一个更全局的命令,它允许我一劳永逸地指定设置堆空间,例如:
设置 JAVA_HEAP_SPACE = 5GB
谢谢
您可以从命令行设置 java 堆空间:java -Xmx1600m program
现在您的堆空间为 1600 MB。(假设您的硬件已经负担得起 1600 MB。)
对于 Windows 平台,您也可以从Java 运行时环境设置中进行设置。按照控制面板 => 程序 => Java。导航到 Java 选项卡。查看 Java 运行时环境设置。添加-Xmx1600m
到运行时参数。保存并继续。
对于 Linux 平台,您可以启动控制面板并编辑运行时参数。它可以从类似的东西运行/usr/j2se/jre/bin/ControlPanel
。找到你自己的目录。请在这里阅读:http: //docs.oracle.com/javase/7/docs/technotes/guides/deployment/deployment-guide/jcp.html
您可以使用以下命令:
java -Xms64m -Xmx256m ClassName
Xms<size> set initial Java heap size
Xmx<size> set maximum Java heap size
在此示例中,初始堆大小设置为 64MB,最大堆大小设置为 256MB。有关更多信息,请查看此。
问题不是很清楚但是您应该将 -Xmx 标志视为 JVM 启动参数,以便为您的应用程序提供更多内存。请阅读此处了解更多信息。您还应该对您的 Java 应用程序进行分析,并查看大部分可用内存在哪里被消耗。你可以使用 JProfiler(只是谷歌关于分析你的 Java 应用程序的工具)来分析和查看关于应用程序的哪个部分消耗更多系统资源的统计信息。