JAva仮想マシンのオプション

6480 ワード

一般的なオプション-server
Mac OS Xには特別なサーバ仮想マシン(server VM)はありません.Javaをアクティブにするときは-serverオプションを使用できますが、これは別の仮想マシンを起動するのではなく、クライアント仮想マシン(client VM)を起動するのです.この仮想マシンはサーバの使用環境を最適化しています.これらのチューニングには、次のものが含まれます.
共有アーカイブの生成中に異なるクラスリストが使用されます.このリストにはGUIクラスは含まれません(「Mac OS XのJava共有アーカイブ」セクションを参照).
Javaスタックのサイズを増やします.
Eden世代のメモリ領域のサイズを増やします.
スレッドのローカルEdenゴミ収集器(garbage collection)を開きます. -X
非標準VMオプションの簡単な説明を表示します.-Xbootclasspath:
path
検索開始クラスの範囲として、ディレクトリとJARとZIPファイルのリストを指定します.リスト内の各項目間の区切り記号は、コロン(:)です.-Xfuture
クラスファイルの厳格なフォーマットチェックを行います.このオプションはJavaにクラスファイルの仕様を遵守するかどうかをより厳格にチェックするように強制しますが、デフォルトのチェックはJava 1.1.xの基準に基づいています.このオプションを使用して、コードをテストして、これらのコードが将来のJavaバージョンで動作することを確認する必要があります.これらの将来のバージョンでは、より厳しいクラスファイルフォーマットチェックが強制される可能性があります.-Xprof
実行プログラムの詳細な挙動解析データを標準出力に送信する.このオプションは、製品レベルのコードでは使用できません.-Xrs
および-XX:+ReduceSignalUsageのオプションは同じです.-XX:+ReduceSignalUsage
通常、Java応答SIGHUP , SIGINT,およびSIGTERM信号.このオプションを指定すると、Javaはこれらの信号を無視し、特定の必要に応じてローカルコードでこれらの信号の処理関数を実装し、同時に
System.exit()では、関連するクローズルーチンが実装されます.-XX:ReservedCodeCacheSize=
size in bytes
最大のコードキャッシュのサイズを設定します.デフォルトは32(32 M)です.-XX:-PrintJavaStackAtFatalState
デフォルトでは、ローカルコードがクラッシュすると、Javaはバックトラック情報を生成します.Javaのエラーレポートでクラッシュの情報を見た場合は、このオプションを閉じることができます. 
Threading -XX:NewSizeThreadIncrease=
size in KB
アクティブなスレッドごとに初期オブジェクトスペースがどのくらい増加するかを指定できます.このオプションは、スレッドの増加によって増加する割当率を調整するときに役立つ可能性があります.デフォルト値は16(16 kilobytes)です.-XX:ThreadStackSize=
size in KB
スレッドスタックのサイズを変更します.デフォルトでは、スレッドスタックのサイズは、オペレーティングシステムで使用されるスタックのデフォルトのサイズです.-XX:+UseTLAB
スレッドのローカル割り当てバッファをアクティブにします.このバッファを使用すると、スレッド・タスクが煩雑なアプリケーションのメモリ割り当てがより拡張性が高くなり、メモリ割り当てのパフォーマンスが大幅に向上します.このオプションは、マルチプロセッサのコンピュータおよびMac OS Xサーバでデフォルトでオンになっています. 
コンパイル-Xint
解釈(interperated)モードでのみ仮想マシンを実行します.このオプションを使用すると、システムはバイトコードをコンパイルしません.-XX:CompileThreshold=
value
コンパイル開始前にメソッド呼び出し(プログラムブランチ)の数を変更します.デフォルトは1000です.-XX:-InlineUnreachableCalls
デフォルトでは、仮想マシンは、コンパイラの最適化を容易にするために、可能なすべてのコードをメソッドインライン処理します.このオプションを設定すると、少ないコードがインラインメソッドでコンパイルされます.このように、通常は実行されないコード、例えば例外処理は、インラインコードとして処理されず、実行時にのみ解釈される.このオプションを設定すると、パフォーマンスが大幅に低下する可能性があります.-XX:+CITime
コンパイルしたコードにどれだけの時間がかかったかを表示します.-XX:+PrintCompilation
Javaのメソッドがコンパイルされると、そのトレース情報が印刷されます.
ごみ収集:一般設定-Xincgc
Mac OS Xではこのオプションはサポートされておらず、このトレーニング式のゴミ収集器はサポートされていません.-Xnoclassgc
クラスのゴミ収集を無効にします.-XX:+UseConcMarkSweepGC
マルチプロセッサのコンピュータに有効なフラグとパージを同時に行うゴミ収集アクティビティをアクティブにします.-XX:+UseParallelGC
パラレルゴミ収集アクティビティをアクティブにします.このオプションは、マルチプロセッサのコンピュータにのみ有効です.-XX:-DisableExplicitGC
コード内のペアを無視
System.gc()の明示的な呼び出し.仮想マシンは、通常のメカニズムに従ってゴミ収集を行います.このオプションでは、コード内でゴミ収集を強制することはできません.-XX:+PrintTenuringDistribution
初期世代でメモリが割り当てられているオブジェクトがメモリ時間を消費する情報を印刷します.
ごみ収集:メモリの使用メモリの使用-XX:MinHeapFreeRatio=
percentage as a whole number
ごみ回収後のスタックで使用可能なメモリの最小パーセントを変更します.デフォルトは40です.ゴミ回収後、少なくとも40%のスタックメモリが解放されていない場合、システムはスタックのサイズを増加させます.-XX:MaxHeapFreeRatio=
percentage as a whole number
ごみ回収後とスタックメモリの縮小前に使用可能なスタックメモリの最大パーセントを変更します.デフォルトは70です.これは、ゴミ回収後に70%以上のスタックメモリがある場合、システムがスタックのサイズを減らすことを意味します.-XX:NewSize=
size in bytes
メモリが割り当てられているオブジェクトのEden世代のデフォルトのメモリサイズを設定します.デフォルト値は640 Kです.( -serverオプションは、デフォルトのサイズを2 Mに増やします.)-XX:MaxNewSize=
size in bytes
初期オブジェクトスペースの上限を変更できます.新しいオブジェクトに必要なメモリはこのスペースから割り当てられます.このオプションのデフォルト値は640 Kです.( -serverオプションは、デフォルトのサイズを2 Mに増やします.)-XX:NewRatio=
value
新しい空間の寸法スケールを変更します.このスケールのデフォルト値は8で、新しい空間の寸法が古い空間の1/8であることを意味します.-XX:SurvivorRatio=
number
Edenオブジェクト空間と残存空間の寸法スケールを変更します.このスケールのデフォルト値は10です.これは、Edenオブジェクト空間の寸法が残存空間よりもsurvivorRatio+2倍大きいことを意味します.-XX:TargetSurvivorRatio=
percentage
希望するスペース抽出後に使用する残存スペースの割合を設定します.デフォルトは50です.-XX:MaxPermSize=
size in MB
長久代(permanent generation)のサイズで、デフォルト値は32(32 MB)です. 
ヒープのサイズ-Xms
size in bytes
Javaスタックの初期サイズを設定します.デフォルトサイズは2097152(2 MB)です.この値は1024バイト(1 KB)の倍数で、それより大きい必要があります.( -serverオプションは、デフォルトのサイズを32 Mに増やします.)-Xmn
size in bytes
Edenオブジェクトの初期Javaスタックのサイズを設定します.デフォルト値は640 Kです.( -serverオプションは、デフォルトのサイズを2 Mに増やします.)-Xmx
size in bytes
Javaスタックの最大サイズを設定します.デフォルト値は64 Mです.(-serverオプションはデフォルトサイズを128 Mに増やします.)最大のスタックサイズは2 GB近く(2048 MB)に達します.