利用可能なメモリがたくさんありますが、Javaは起動しません(SunOS 5.10)。

利用可能なメモリがたくさんありますが、Javaは起動しません(SunOS 5.10)。

仮想マシンの状態以下を提供します。

swap        free
37489684    110178592

実行しようとすると、まだ問題が発生します。Java10gヒーププロセス:

> java -Xmx10g -Xms10g -d64 HelloWorldApp

Error occurred during initialization of VM
Could not reserve enough space for object heap

なぜこれが起こり、どのように解決するのですか?

直す。出力ulimit -a:

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 10
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 25525
virtual memory          (kbytes, -v) unlimited

答え1

空きRAMがあってもスワップスペースが足りない場合があります。私はこれがあなたが経験しているものかもしれないと信じています。調べてswap -s

もう一度考えてみると、問題は事実が不十分なためかもしれません。続けてメモリを使用できますが、オペレーティングシステムが利用可能な10 GBの連続メモリを見つけることができない場合(利用可能なメモリが100 GBを超えるように見える場合)、多少奇妙に見えます。

答え2

スワップ領域が非常に小さい。利用可能と報告されているRAMのかなりの部分は、他のプログラムメモリ予約用のバックアップストアとして機能するため、現在実際には使用できません。スワップを追加するだけで簡単なファイルになり、JVMを起動できます。

答え3

以下を試してください。

java -Xms512m -Xmx512m -d64 HelloWorldApp

または

java -Xms1024m -Xmx1024m -d64 HelloWorldApp

高すぎるからかもしれません。

関連情報