- - PR -
メモリのサイズを指定
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-03-03 16:07
実行するためのメモリのサイズを指定することは出来ますか?
例えば128MBを指定して、使い切った場合のみ仮想メモリを使用するように設定するのです。ただし100MBを使用した時点でGCを実行するように設定する。 | ||||||||
|
投稿日時: 2008-03-03 16:29
http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/java.html
ヒープの最小値と最大値は-Xms、-XmxのVMオプションで指定できます。 100MBを使った時点でGCを行わせるというような指定は出来ません。 例えば、-Xms128m -Xmx256mと指定した場合は、初期ヒープ容量が128MB、 その後はフルGCしてもヒープが不足するような場合に最大256MBまで ヒープが自動的に拡張されるようになります。 「仮想メモリの使用」がスワップファイル(ページ・ファイル)上に 領域を確保するという意味ならば、そもそも物理ページが不足する 場合にOSが自動的に使うものなので、そういった指定はできません。 | ||||||||
|
投稿日時: 2008-03-03 17:44
最小値の指定の意味が分かりません。最小128M指定しても64Mしか使わない場合はムダになるだけでは?
| ||||||||
|
投稿日時: 2008-03-03 17:52
明示するかどうかはともかくとして、 コンピューターが動作するためには、初期値というものが必要です。
その通りです。 | ||||||||
|
投稿日時: 2008-03-03 18:04
大きめの最小値の指定は必ずしも無駄とは限りません。
Javaではいつかは必ずGCの実行が必要になるので、 空きが多ければGCの頻度を減らせる可能性があります。 それに、ヒープは最大値までは自動的に拡張されますが、 拡張前にはGCが頻発するのでパフォーマンス的に不利です。 どのみち拡張されるのであれば、標準的なヒープ使用量を 見積もるなり実測するなりして指定した方がよいです。 |
1