Solaris サーバーに問題があります。メモリが制限された状態で Sun Java プロセスを起動すると、2 倍以上のリソースが必要になります。
たとえば、サーバーに 64 Go のメモリがあります。1 つは Linux 上にあり、その他は Solaris 上にあります。すべてのサーバーで同じソフトウェアを実行しました(Javaのみ)。
サーバーの起動時には、400Mb から 1.2Gb の RAM が必要でした。Java プロセス (通常、Java プロセスごとに 4 ~ 16go) を起動しましたが、Xmx および Xmx 値で定義された 32 Gb を超えて実行できません。この種のエラーが発生しました:
> /java -d64 -Xms8G -Xmx8G -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
ここでわかるように、多くの予約済みメモリがあり、それは Java プロセスによって作成されています。
> swap -s
total: 22303112k bytes allocated + 33845592k reserved = 56148704k used, 704828k available
それらを1つずつ殺すとすぐに、予約済みのスペースを回復し、他のスペースを起動できます. しかし、実際には半分以上のメモリを使用できません。
この問題を解決する方法を知っている人はいますか?
ありがとう