我正在使用具有Readyboost属性的记忆棒。
Java无法识别棒中的额外内存(如果我将Xmx设置为超出计算机RAM值以便使用棒状内存,我会收到错误:
Error occurred during initialization of VM
Error: Could not create the Java Virtual Machine.
Could not reserve enough space for object heap
Error: A fatal exception has occurred. Program will exit.)
你能帮我解决一下吗? 谢谢!
答案 0 :(得分:2)
首先,Readyboost是磁盘缓存功能(用于持久存储等) - 它与物理上可寻址的RAM /虚拟地址空间无关。
其次,-Xmx Java设置仅设置max 堆。由于perm gen空间和VM库/开销,JVM总共需要使用超过此值的值。有关详细信息,请参见此处:
另外,根据您使用的操作系统(我假设Windows 32位?),您不能为单个进程分配超过指定数量的内存(通常为2 GiB)。大多数64位操作系统都没有受到此限制。