当我尝试设置超过 1gb 的值时,出现错误-Xms
:-Xmx
初始化虚拟机时出错
我的电脑有 8GB 的 RAM。
我需要在内存中保存和操作大量数据。
当我尝试设置超过 1gb 的值时,出现错误-Xms
:-Xmx
初始化虚拟机时出错
我的电脑有 8GB 的 RAM。
我需要在内存中保存和操作大量数据。
32 位 JVM 的最大堆大小最多为 4GB - 在某些系统中,由于各种技术原因(例如需要连续内存),堆大小较小。假设您使用的是 64 位计算机,请尝试使用 64 位版本。
这样做的原因是您可以使用 32 位指向的最大地址数是 2^32,即 4GB。用户永远无法真正访问这个理论上的最大值,因为 JVM 需要它来获取Klass
文件(代码的内部表示)和其他东西。
另请参阅此问题。
如果您使用的是 64 位操作系统,那么真正的解决方案是添加 -d64 以强制它以 64 位运行,因此分配 4GB。
我肯定会建议你通过文章
除了 Ram,xmx 参数还依赖于 os、jvm bit 等参数。
还建议您进行统计以确定有多少可用内存。请参阅http://viralpatel.net/blogs/getting-jvm-heap-size-used-memory-total-memory-using-java-runtime/以确定正在使用多少内存和释放内存。
为了获得最佳利用,它应该是 64 位操作系统和 64 位 vm
在 32 位版本的 Windows 上,应用程序有 4 GB 的可用虚拟地址空间。虚拟地址空间被划分,以便应用程序可以使用 2-GB,而其他 2-GB 仅供系统使用。请参阅http://msdn.microsoft.com/en-us/library/Aa366521
因此,请确保您有足够的内存(无论您提到的参数 xms 和 xmx 是什么)与我上面提到的程序
恕我直言,这是相同的问题,但问题略有不同..
如您所见,Java 运行时环境是在 Java 控制面板中设置的。尝试添加运行时参数,例如-Xmx3072m
在运行时参数的列中。
或者你可以看看这篇文章..
希望对解决问题有帮助...
问候,伊万