无法创建Java虚拟机

Uda*_*ant 34 java linux jvm

面对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.
Run Code Online (Sandbox Code Playgroud)

它似乎不是内存问题,因为相同的命令适用于root帐户.可用内存(free -m)超过1200MB我也试过增加JVM内存限制

小智 95

小心点 如果您尝试输入不存在的命令,您将收到此消息

/ usr/bin/java -v

  • 这也解决了我的问题。该命令在 openjdk-8 中为 -version,但在 openjdk-11 中为 --version(两个破折号)。他们确实需要一个更好的“未知命令”错误消息>_< (5认同)
  • 你的评论让我开心。现在,如果我足够聪明,可以从 Stackoverflow 向我的电子邮件设置好的评论通知。哈哈哈哈 (2认同)

las*_*gar 8

设置JVM内存:

export _JAVA_OPTIONS=-Xmx512M


the*_*Sin 7

我今天遇到了这个问题,对我来说问题是我分配了太多内存:

-Xmx1024M -XX:MaxPermSize=1024m

一旦我减少了PermGen空间,一切都运行良好:

-Xmx1024M -XX:MaxPermSize=512m

我知道这看起来并没有什么区别,但我的机器只有4GB的内存,显然这是打破骆驼背部的稻草.Java VM在每次操作时都会立即失败,因为它无法分配内存.