无法以普通Linux用户身份运行Java


0

我在尝试在Linux上以普通用户身份运行Java时遇到问题。它可以以root用户身份运行,但不能以普通用户身份运行。

任何帮助将不胜感激。

谢谢

root @ pro1 [〜]#哪个java
/ usr / local / jdk / bin / java
root @ pro1 [〜]#java -version
Java版本“ 1.6.0_22”
Java(TM)SE运行时环境(内部版本1.6.0_22-b04)
Java HotSpot(TM)64位服务器VM(内部版本17.1-b03,混合模式)
root @ pro1 [〜]#su istream
istream @ xxxxxxxxx [/ root]#其中java
/ usr / local / jdk / bin / java
istream @ xxxxxxxxx [/ root]#java -version
VM初始化期间发生错误
无法为对象堆保留足够的空间
无法创建Java虚拟机。
istream @ xxxxxxxxx [/ root]#

更新:

是的,限制是问题所在。.服务器正在运行cpanel,这对用户施加了一些非常严格的限制。

谢谢(你的)信息。


您是否曾尝试以普通用户的身份在/ root以外的其他目录中执行“ java -version”?
BenGC 2011年

是的,即使从用户主目录或在系统上的其他任何位置,也是如此。还尝试了./java -version形式的Java bin目录。
罗杰

如果从存储库中安装了Java,则最好通知维护者。
2011年

Answers:


2

是否为istream用户(运行ulimit -a和比较)设置了任何资源限制,该用户没有root用户,可能是虚拟内存(RLIMIT_AS / ulimit -v)?

如果是这样,请检查它是否由/etc/security/limits.conf应用,以及是否可以为istream用户设置例外。


Could not reserve enough space for object heap表示您没有足够的内存。除了这ulimit部分之外,尝试从开始使用Java -Xms12m -Xmx12m。仅将此用于-version测试。这样,JVM将仅分配12MB。
基督徒

+1,我也看到了由限制引起的确切问题
thereceivere
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.