[英]How to increase memory size for JVM beyond 1gb
当我尝试将-Xms
和-Xmx
值设置为大于1gb时,我收到一个错误:
VM初始化期间发生错误
我的电脑有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
因此,请确保您有足够的内存(无论您提到的反对params xms和xmx)与上面提到的程序
恕我直言,这是一个相同的问题,问题略有不同..
如您所见,Java Runtime Environment在Java控制面板中设置。 尝试在运行时参数列中添加运行时参数,例如-Xmx3072m
。
或许你可以查看这篇文章..
希望它有助于解决问题......
此致,伊万
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.