仮想マシンの状態以下を提供します。
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
高すぎるからかもしれません。