Java:初始化VM时出错

Java:初始化VM时出错,java,linux,memory,command,heap-memory,Java,Linux,Memory,Command,Heap Memory,我正在尝试正确调整ram共享,但存在一个问题。我在服务器上测试了stackoverflow的一些解决方案,但没有得到任何结果。当我运行这个命令时,没有问题 export _JAVA_OPTIONS='-Xms16m -Xmx64m' 然后从命令提示符下运行java-version: Picked up _JAVA_OPTIONS: -Xms16m -Xmx64m java version "1.7.0_95" OpenJDK Runtime Environment (rhel-2.6.4.0.

我正在尝试正确调整ram共享,但存在一个问题。我在服务器上测试了stackoverflow的一些解决方案,但没有得到任何结果。当我运行这个命令时,没有问题

export _JAVA_OPTIONS='-Xms16m -Xmx64m'
然后从命令提示符下运行
java-version

Picked up _JAVA_OPTIONS: -Xms16m -Xmx64m
java version "1.7.0_95"
OpenJDK Runtime Environment (rhel-2.6.4.0.el6_7-x86_64 u95-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
但是,我想使用此命令增加大小,但无法执行:

 export _JAVA_OPTIONS='-Xms16m -Xmx128m'
在执行上述命令之后,当我再次运行
java-version
时,出现以下错误:

Picked up _JAVA_OPTIONS: -Xms16m -Xmx128m
Error occurred during initialization of VM
Cannot create VM thread. Out of system resources.
这是
自由-m的输出:

             total       used       free     shared    buffers     cached
Mem:          2048        961       1086          6          0        397
-/+ buffers/cache:        564       1483
Swap:            0          0          0
如果问题是我的服务器的RAM无法使用,我将以前的1GB升级到2GB。我还要升级多久才能正确运行Java?我该怎么办

编辑:

下面是ulimit-a的输出:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 1030823
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) 524288
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1030823
virtual memory          (kbytes, -v) 524288
file locks                      (-x) unlimited

从您的ulimit输出来看,您的虚拟内存和最大内存大小几乎被设置为半GB,所以无论您有多少RAM,这都会限制您。尝试增加他们阅读更多内容:

我建议尝试一下这些想法,看看是否能解决问题。奇怪!如果您只是
取消设置
\u JAVA\u选项
环境变量并调用
JAVA--version
命令,会发生什么情况?@resueman谢谢。我查看了一些想法,但它们并没有解决我的问题。@arkanas运行
ulimit-a
并发布结果怎么样?可能是您允许的虚拟内存太低或其他原因similar@KedarMhaswade如果我取消设置_JAVA_选项,然后调用“JAVA-version”,我会出现以下错误:“VM初始化期间发生的错误无法为对象堆保留足够的空间错误:无法创建JAVA虚拟机。”。错误:发生致命异常。程序将退出。谢谢您宝贵的回复。这看起来可能是一个解决方案,但我如何知道适合我的服务器的价值呢?我猜是反复试验吧!我想如果您有2个参数,那么将这些参数设置为1GB就足够安全了。尝试一点一点地增加,直到-Xmx值不会崩溃。