Java 8 更新 60 减少可用堆内存
Java 8 Update 60 Reduced Available Heap memory
我正在使用 Windows 7,PC 的内存为 32 GB,并且刚刚接受了最新的 Java 8 更新 (60)。在更新之前,我曾经能够在命令 window 中处理文件,这需要使用几 GB 的内存。现在,我得到
java.lang.OutOfMemoryError: Java heap space
运行宁应用程序需要的内存比我以前舒适使用的要少得多。
当我 运行 NetBeans 时,我曾经能够通过以下方式将项目设置为使用 1GB 内存
R-单击:属性:运行 并放置
-Xms1g
在
VM Options
window.
现在,当我这样做并尝试 运行 我得到的程序时
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 以某种方式减少了我可以使用的堆内存量。
我去了Start:ControlPanel:Java(32位):Java:查看
并放
-Xms4g
低于
Runtime Parameters
但我仍然遇到同样的错误。
在 Windows 下,32 位 JVM 的最大堆大小约为 2GB,并且有一种方法可以将其增加到 3GB。如果您已经 运行 32GB RAM,那么您的 Windows 7 必须是 64 位的,您最好升级到 64 位 JVM。
我已经看到从一个 Java 版本到下一个版本的可用内存变化。它们还 fiddle 具有从一个版本到下一个版本的默认 JVM 内存大小。最后,可用堆的数量随 JVM 中的线程数 运行 而变化。由于可用于 ALL 目的的最大内存为 2GB,因此更多线程 运行 会减少堆的剩余空间。如果他们在 Java 8 JVM 中添加了一些线程,那么这或许可以解释为什么可用堆较少。
我正在使用 Windows 7,PC 的内存为 32 GB,并且刚刚接受了最新的 Java 8 更新 (60)。在更新之前,我曾经能够在命令 window 中处理文件,这需要使用几 GB 的内存。现在,我得到
java.lang.OutOfMemoryError: Java heap space
运行宁应用程序需要的内存比我以前舒适使用的要少得多。
当我 运行 NetBeans 时,我曾经能够通过以下方式将项目设置为使用 1GB 内存 R-单击:属性:运行 并放置
-Xms1g
在
VM Options
window.
现在,当我这样做并尝试 运行 我得到的程序时
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 以某种方式减少了我可以使用的堆内存量。
我去了Start:ControlPanel:Java(32位):Java:查看
并放
-Xms4g
低于
Runtime Parameters
但我仍然遇到同样的错误。
在 Windows 下,32 位 JVM 的最大堆大小约为 2GB,并且有一种方法可以将其增加到 3GB。如果您已经 运行 32GB RAM,那么您的 Windows 7 必须是 64 位的,您最好升级到 64 位 JVM。
我已经看到从一个 Java 版本到下一个版本的可用内存变化。它们还 fiddle 具有从一个版本到下一个版本的默认 JVM 内存大小。最后,可用堆的数量随 JVM 中的线程数 运行 而变化。由于可用于 ALL 目的的最大内存为 2GB,因此更多线程 运行 会减少堆的剩余空间。如果他们在 Java 8 JVM 中添加了一些线程,那么这或许可以解释为什么可用堆较少。