【问题标题】:Java 8 Update 60 Reduced Available Heap memoryJava 8 Update 60 减少了可用堆内存
【发布时间】:2015-11-18 06:08:25
【问题描述】:

我在具有 32 GB RAM 的 PC 上使用 Windows 7,并且刚刚接受了最新的 Java 8 更新 (60)。在更新之前,我曾经能够在命令窗口中处理需要使用数 GB 内存的文件。现在,我明白了

java.lang.OutOfMemoryError: Java heap space

运行的应用程序需要的内存比我以前舒适地使用的少得多。

当我运行 NetBeans 时,我曾经能够通过以下方式将项目设置为使用 1GB 内存 R-click:Properties:Run and put

-Xms1g

VM Options

窗口。

现在,当我这样做并尝试运行程序时,我得到了

Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Error occurred during initialization of VM
Could not reserve enough space for object heap
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

我在使用时没有收到该错误

-Xms900m

相反。因此,Java 以某种方式减少了我可以使用的堆内存量。

我去了开始:控制面板:Java (32-bit):Java:View

然后放

-Xms4g

Runtime Parameters

但我仍然遇到同样的错误。

【问题讨论】:

  • 你为什么使用-Xms?这只会设置 minimum 堆,而不是 maximum。如果你需要给你的Java程序更多的堆,你应该使用-Xmx4g
  • 我转到开始:控制面板:Java(32 位):Java:查看并将 -Xmx4g 放在“运行时参数”下。如果我在“VM 选项”下使用 -Xmx1g 或 -Xms1g,我仍然会收到与 Netbeans 相同的错误消息。谢谢,
  • 如果您使用 32 位,您将自己限制为大约 1.3 GB 的虚拟内存。这是您正在模拟的 Windows XP 的限制。
  • 我刚刚用 64 位替换了 32 位 java。我在 Netbeans 上仍然有同样的问题,但命令窗口中的问题至少没有那么严重。我可以运行之前堆内存不足的程序。我正在尝试运行具有更多内存要求的程序。我需要等待大约半小时才能看到它是否有效(除非它在那之前内存不足)。谢谢,
  • 如果我没记错的话,控制面板中的设置只会影响Java Applet,而不是从命令行启动的Java程序。要更改 NetBeans 项目的内存,您需要更改 NetBeans 中的设置:docs.oracle.com/cd/E50453_01/doc.80/e50452/…

标签: java windows memory netbeans-7


【解决方案1】:

在 Windows 下,32 位 JVM 的最大堆大小约为 2GB,有一种方法可以将其增加到 3GB。如果您已经使用 32GB RAM 运行,那么您的 Windows 7 必须是 64 位的,您最好升级到 64 位 JVM。

我已经看到从一个 Java 版本到下一个版本的可用内存发生了变化。他们还从一个版本到下一个版本调整了默认的 JVM 内存大小。最后,可用堆的数量随 JVM 中运行的线程数而变化。由于可用于所有用途的最大内存为 2GB,因此运行的线程越多,堆的剩余量就越少。如果他们在 Java 8 JVM 中添加了一些线程,那么这或许可以解释为什么可用的堆更少。

【讨论】:

  • 你说的肯定有道理。用 64 位替换了 32 位 Java,这无疑改善了命令行中的情况。之前给出 OutOfMemoryError 错误的程序和参数未运行完成。我目前正在使用更新前有效的内存密集型参数进行测试。我仍然有 NetBeans 的问题。我去了开始:控制面板:Java(32位):Java:查看并将-Xmx4g放在“运行时参数”下。将该字段留空会更好吗?谢谢,
  • 问题似乎已解决。从版本 7(32 位)升级到版本 8 修复了 NetBeans 问题。非常感谢您的帮助,
猜你喜欢
  • 2016-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 2017-08-21
  • 2016-04-25
相关资源
最近更新 更多