【发布时间】:2012-03-27 14:17:12
【问题描述】:
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 内存限制
【问题讨论】:
-
您确定两者都使用相同的 java 可执行文件吗?另外,我认为您可以限制特定用户的可用内存,如果您以用户身份执行 ulimit -a ,是否说明最大内存大小的限制?
-
与内存相关的两行类似于
max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) 200000 -
virtual memory (kbytes, -v) 200000 -
我猜,您需要为您的 Java 应用程序提供适当的安全权限才能在用户模式下更改内存。