扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
问题
在linux的vps中启动java虚拟机失败
[root@vzlinux01 root]# /usr/java/jre1.5.0_07/bin/java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
解决方案
这是典型的VPS资源分配不足造成的
如果使用了vps.basic方案来创建VPS
这其中的privvmpages值可能无法满足java虚拟机启动的需要
在硬件节点上执行如下命令:
cat /proc/user_beancounters
其中101是有问题的vps的id
可以得到如下结果:
[root@vz ~]# cat /proc/user_beancounters 231
Version: 2.5
uid resource held maxheld barrier limit failcnt
......(若干行)
101: kmemsize 0 0 2752512 2936012 0
lockedpages 0 0 32 32 0
privvmpages 0 0 2147483647 2147483647 12
shmpages 0 0 8192 8192 0
dummy 0 0 0 0 0
numproc 0 0 65 65 0
physpages 0 0 0 2147483647 0
vmguarpages 0 0 6144 2147483647 0
oomguarpages 0 0 2147483647 2147483647 0
numtcpsock 0 0 80 80 0
numflock 0 0 100 110 0
numpty 0 0 16 16 0
numsiginfo 0 0 256 256 0
tcpsndbuf 0 0 319488 524288 0
tcprcvbuf 0 0 319488 524288 0
othersockbuf 0 0 132096 336896 0
dgramrcvbuf 0 0 132096 132096 0
numothersock 0 0 80 80 0
dcachesize 0 0 1048576 1097728 0
numfile 0 0 2048 2048 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 0 0 128 128 0
......(若干行)
其中找到vps的id为101的这一段,观察他的failcnt计数为12
这表示,资源privvmpages已经用尽,并且vps依然尝试着获取更多资源,尝试了12次
把出现failcnt的资源增加,即可解决这个问题。
也可以登陆vzcc,查看“QOS日志”
在QOS日志中也可以看到如下内容:
2006年06月28日 星期三 16时53分58秒 231 vzvm 耗尽 privvmpages
即表明这个资源不足需要增加
另外,建议使用vps.512MB等资源更加充分的vps来运行java等复杂应用
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者