面临java虚拟机初始化的一些问题。当我使用root帐户时,我可以正常使用java。但是当我是一个用户帐户时,它会返回以下错误
user@host# $JAVA_HOME/bin/java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
它似乎不是内存问题,因为同一命令适用于root帐户。可用内存(free -m)超过1200MB 我也试过增加JVM内存限制
答案 0 :(得分:92)
小心点。如果您尝试输入不存在的命令,则会收到此消息
/ usr / bin / java -v
答案 1 :(得分:7)
今天我遇到了这个问题,对我来说问题是我分配了太多内存:
-Xmx1024M -XX:MaxPermSize=1024m
一旦我减少了PermGen空间,一切正常:
-Xmx1024M -XX:MaxPermSize=512m
我知道这看起来并没有什么区别,但我的机器只有4GB的RAM,显然那是打破骆驼背部的稻草。 Java VM在每次操作时都会立即失败,因为它无法分配内存。
答案 2 :(得分:7)
设置JVM内存:
export _JAVA_OPTIONS=-Xmx512M
答案 3 :(得分:1)
当我使用与/etc/bashrc
和/etc/profiles
中相同的内容编辑文件/etc/profiles.d/limits.sh
并重新登录时,问题得到了解决。
答案 4 :(得分:1)
确保物理可用内存大于VM定义的最小/最大内存。