use*_*512 21 java linux memory jvm
刚遇到奇怪的问题.当我打字
java -version
Run Code Online (Sandbox Code Playgroud)
我有
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
Run Code Online (Sandbox Code Playgroud)
.
java -Xms64m -Xmx64m -version
Run Code Online (Sandbox Code Playgroud)
这个命令工作正常
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)
如果我将xms,xmx更改为128m,我会再次收到错误.
使用top
命令,free -m
我可以看到,我有超过192 MB的免费,所以为什么我仍然得到这个错误?
Mem: 262144k total, 64760k used, 197384k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
Run Code Online (Sandbox Code Playgroud)
谢谢
Jes*_*per 11
看起来你试图运行它的机器只有256 MB的内存.
也许JVM尝试分配一个64 MB内存的大型连续块.你有空的192 MB可能被分成小块,因此没有64 MB的连续块可以自由分配.
尝试使用较小的堆大小启动Java程序,例如:
java -Xms16m ...
Run Code Online (Sandbox Code Playgroud)