質問: javaコマンドのオプション-Xmxを使うとヒープの最大サイズを指定できますが、 実際に実行可能なのは1024mまでで、 例えば-Xmx2048mと指定すると Could not reserve enough space for object heap というエラーが出て実行できません。 マシンに4GBのメモリが搭載されていても このエラーが出てしまうのですが、そういうものなのでしょうか。 このあたりの事情や、解決方法をご存知の方がいましたら お教え頂けないでしょうか。
回答: 通常のアプリケーションにおいて、2Gのヒープサイズを必要とすることは、まずありません。 本当にそのサイズを必要とすると考えられるのなら、質問で概略程度は書いてしかるべきで、 そうでなければ、動かすために「ヒープサイズを広げる」という情報だけを入手したと見なされても、仕方ありません。 直接関係ありませんが、物理メモリのうちユーザーメモリに割けるサイズはそれほど大きくありません。 32ビットのWindowsなら2GBまで(設定により3GBまで)。 それも、数多く動いているユーザープログラムが使うメモリをトータルしたものです。