JAva高支局のJVMコマンドパラメータ大全(高級ゴミ回収オプション)


JAva高支局のJVMコマンドパラメータ大全(高級ゴミ回収オプション)
これらのオプションは、Java HotSpot仮想マシンがどのようにゴミ回収を行うかを制御します.--XX:+AggressiveHeap javaスタック最適化設定.複数のパラメータを設定して、長時間実行したタスクに密なメモリ割り当てを使用します.このオプションがデフォルトでオフになっているのは、スタックが最適化されていないことです.--XX:+AlwaysPreTouch main関数を呼び出す前に、使用可能なすべてのメモリを使用してページングします.このオプションは、長時間稼働しているシステムをテストするために使用できます.すべてのメモリが割り当てられています.デフォルトでは、このオプションはオフになっています.つまり、すべてのメモリをページングすることはありません.--XX:+CMSClassUnloadingEnabled CMSゴミ収集器を使用する場合、クラスのアンインストールを許可します.このオプションモードはオンです.クラスのアンインストールを禁止するには、:-XX:-C MSClassUnloadingEnabled--XX:CMSExpAvgFactor=percentを使用してゴミ収集にかかる時間の割合を指定します.デフォルトではこの数は25%です.次の例は15%に設定されています.
-XX:CMSExpAvgFactor=15
  • -X:CMSコレクションの開始率を設定します.デフォルトは-1です.負の値は-XX:CMSTriggerRatioオプションを使用してこのパーセンテージ数を定義することを示します.次の例は20%に設定され、古い年代に20%を使用してゴミ収集を開始したことを示しています.
  • -XX:CMSInitiatingOccupancyFraction=20
  • -XX:+CMSScavengeBeforeRemarkは、CMSが再マークされる前にパージを実行します.デフォルトではこのオプションはオフです.
  • -X:CMSTriggerRatio=percent-XX:MinHeapFreeRatioで指定した値のパーセントを設定します.デフォルトは80%です.次の例は75%:
  • に設定されています.
    -XX:CMSTriggerRatio=75
  • -XC:ConcGCThreads=threads同時GCのスレッド数.デフォルト値はcpuの数によって異なります.次の例では、この値を2
  • に設定します.
    -XX:ConcGCThreads=2
  • -XX:+DisableExplicitGCこのオプションは明示的GC、すなわちSystem.gc()を制御し、デフォルトではこのメソッドを呼び出すときにgcが発生しますが、明示的gcが許可されていない場合、このメソッドを呼び出すときにgc動作は発生しません.
  • -XX:+ExplicitGInvokesConcurrent System.gc()を呼び出すと、パラレルgcが実行されます.デフォルトではオンではありません.-XX:+UseConcMarkSweepGCオプションを使用する場合にのみオンになります.
  • -XX:+E p e x p l i c i t GCInvokesConcurrentAndUnloadsClasses System.gc()を呼び出すと、並列gcが実行されます.ごみ回収サイクル中にクラスをアンインストールします.このオプションは、-XX:+UseConcMarkSweepGCオプションを使用している場合にのみ有効です.
  • -XX:G 1 HeapRegionSize=size G 1コレクタを使用する場合、javaスタックが分割されるサイズを設定します.この大きさは1 Mから32 Mの範囲である.次の例では、この値を16 Mに設定します.
  • -XX:G1HeapRegionSize=16m
  • -XX:+G 1 PrintHeapRegionsは、G 1コレクタが収集した領域を印刷します.デフォルトでは、このオプションはオフです.
  • -XX:G 1 ReservePercent=percent g 1コレクターを使用する場合は、javaスタックのサイズを保持し、昇進失敗を防ぐように設定します.範囲は0~50です.デフォルトは10%です.次の例では、この値を20%に設定します.
  • -XX:G1ReservePercent=20
  • -XX:InitialHeapSize=size初期化ヒープサイズ.
  • -X:InitialSurvivorRatio=ratio生存領域の割合を設定します.
  • -X:InitiatingHeapOccupancyPercent=percentゴミ回収のためのヒープ占有率を設定します.
  • -XX:MaxGCPauseMillis=time GC最大休止時間を設定します.デフォルトでは最大一時停止時間はありません.次の例では、最大停止時間を500ミリ秒に設定します.
  • -XX:MaxGCPauseMillis=500
  • -XX:MaxHeapSize=size最大ヒープサイズ.
  • -XX:MaxHeapFreeRatio=percentごみ回収後の最大空き容量比率を設定します.デフォルトは70%です.次の例では、この値を75.
  • に設定します.
    -XX:MaxHeapFreeRatio=75
  • -XX:MaxMetaspaceSize=size最大のローカルメモリクラスの従業員間でゴミ回収に使用できます.デフォルトでは制限はありません.次の例では、この値を256 m
  • に設定します.
    -XX:MaxMetaspaceSize=256m
  • -XX:MaxNewSize=size新生代最大サイズ.
  • -XX:MaxTenuringThreshold=thresholdは、新生代の対象生存回数(Minor GC経由の回数)後も生存し、旧生代に昇格する.
  • -XX:MetaspaceSize=sizeクラスメタ空間サイズを設定します.
  • -XX:MinHeapFreeRatio=percentスタック最小空間パーセント.
  • XX:NewRatio=ratio新生代と旧世代の割合を設定します.
  • -XX:NewSize=size若い世代のサイズを設定
  • -XParallelGCThreads=threads並列収集スレッド数.
  • -XX:+ParallelRefProcEnabled多くのReference or finalizable objectsが適用されている場合は、-X:+ ParallelRefProcEnabledを使用してdurationを削減できます.
  • -XX:+PrintAdaptiveSizePolicy適応収集サイズを印刷します.既定ではオフです.
  • -XX:+PrintGC GCはGC情報を印刷します.
  • -XX:+P r i n t G C p p r i c ationConcurrentTime前回gcが停止してから今までどれだけの時間が経過したかを印刷します.
  • -XX:+P r i n t G C A p p r i c ationStopppedTime印刷gcは全部でどのくらい停止しましたか.
  • -XX:+PrintGCDateStamps印刷gcタイムスタンプ
  • -XX:+PrintGCDetails印刷gc詳細
  • -XX:+PrintGCTaskTimeStampsは、個々のgcスレッドごとにタイムスタンプを印刷します.
  • -XX:+PrintGctimeStamps印刷gcタイムスタンプ
  • -XX:+P r i n t StringDeduplicationStatistics印刷文字列デリ統計.
  • -XX:+PrintTenuringDistribution各世代情報を印刷します.
  • -XX:+ScavengeBeforeFullGCは、fullGCを行う際にYGCを先に行います.
  • -XS:S t r i n g D u p l icationAgeThreshold=threshold文字列が生存する最小年齢.デフォルトは3.
  • です.
  • -XX:SurvivorRatio=ratio生存世代の割合.
  • -XX:TargetSurvivorRatio=percentの若い世代が収集した後、生存世代が望む割合.
  • -XTLABSize=sizeローカルスレッド収集バッファの初期化サイズを設定します.
  • -XX:+UseAdaptiveSizePolicyはアダプティブ世代サイズを使用します.
  • -XX:+UseConcMarkSweepGCはcmsゴミ回収器を使用しています.
  • -XX:+UseG 1 GCはG 1ゴミ回収器
  • を用いる.
  • -XX:+UseGCOverheadLimit GCの稼働時間を制限
  • -XX:+UseParallelGCはParallelコレクタを使用します.
  • -XX:+UseParallelOldGCはParallelOldゴミ回収器を使用します.
  • -XX:+UseParNewGC使用ParNewゴミ回収器
  • -XX:+UseSerialGCはSerialゴミ回収器を使用しています.
  • -XX:+UseStringDeduplicationは、文字列のリビルドメカニズムを使用します.
  • -XX:+UseTLABの若い世代では、ローカルスレッド収集ブロックが使用されています.