JVMの練習一般的な構成

A、JVM 共通ベース構成

Ø - XMN 新生代メモリ制限
Ø - のXms 初期全体のヒープメモリ割り当てエリア サイズ
Ø - Xmxの 最大限の全体ヒープメモリ割り当て領域を推奨 - のXms および - Xmxのの 設定が消費動的回復回避するために、サイズに相当する リソースを
Ø - XX:MetaspaceSize (JDK1.8の サポート 対応 JDK1.8 下記 - XX:PermSizeを = 、最小の素子空間同定 Permanent世代 / メソッド領域 サイズ
Ø - XX:MaxMetaspaceSize (JDK1.8の サポート 対応 JDK1.8 以下 - XX:MaxPermSizeを 、最大要素の特定 空間 Permanent世代 / メソッド領域 サイズ
Ø -XX:+ HeapDumpOnOutOfMemoryError ときが OOM 、印刷ヒープダンプ ダンプ・ ファイル
Ø - XX:HeapDumpPath = 指定されたヒープ・ダンプ ダンプ・ ファイル・ストレージ・ パス
Ø - Dfile.encoding = UTF-8 セット フォーマットをコードするシステムファイルが ある UTF-8
Ø -XX:+ PrintGCDetails 出力 GC 詳細なログ回復
Ø -XX:+ PrintGCDateStamps 出力 のGC システムの復旧詳細なタイムスタンプ記録
Ø - Xloggc :/ エクスポート/ログ/ JVM /gc.log  記録 GC リカバリログファイルのパス
Ø -XX:+ PrintGCCause (JDK1.8の サポート プリントアウトするために GCの リサイクルのための理由を
Ø -XX:+ DisableExplicitGC 手動設定は、外部コールの使用禁止 にSystem.gc トリガガベージコレクションへの
 

二、JVMは、コンフィギュレーションを最適化するために使用しました

Ø -XX:+ UseParNewGC 手動での新世代指定 マルチスレッド収集 装置
Ø -XX:+ UseConcMarkSweepGCを 手動で古い使用して年を指定 CMSの 収集 デバイスを
Ø -XX:+ UseCMSInitiatingOccupancyOnly :  このオプションを使用せずに、あなたはコストの決定に従って実行する必要がある場合は、 CMSの GCを 、旧世代領域の使用量に達したとき、このオプションを使用すると、 92% の時間はの無条件の実装になります フルGC
Ø -XX:+ CMSClassUnloadingEnabled 手動で指定する CMSの リサイクルのための非永続的なヒープ領域のコレクタの生成を、回復はデフォルト永続的置換ではありません
Ø - XX:CMSInitiatingOccupancyFraction = 80: の古い使用済みのスペースが到達したときに手動で指定する 80% のトリガー古いリカバリ デフォルト 92 %)
Ø - XX:CMSInitiatingPermOccupancyFraction = 80: 手動で指定するときに使用されるスペースの永久世代 80% 永久リサイクルのトリガ発生 デフォルト 92%)
Ø - Xnoclassgc   : 閉じる CLASSの ガベージコレクション機能、デフォルトの 20 Fenzhongこの クラスは 、使用中にこのクラスをアンインストールする仮想マシンではありません。ここでも再利用 負荷
Ø -XX:+ UseCMSCompactAtFullCollection 作る のフルGCを 圧縮するために、メモリの、 JDK1.6が 前にデフォルトを設定する必要はありません オープン
Ø - XX:CMSFullGCsBeforeCompaction = 2: -XX:+ UseCMSCompactAtFullCollection 何回あたりを通じてアイデンティティの使用に関連した 全GC メモリが圧縮されると、デフォルトはトリガーされる 0
 
 

三、JVMの設定のチューニング - 一般的なケース

チューニング・コンフィギュレーション・M中には、継続的な最適化プロセス、および特効薬です。フォローXcの+ PrintGcDetailsは時間に長時間を要する
情報Xcの+ PrintGcDateStampsを生成するように構成された、プラットフォームを監視合成UMP、MDCデータは、最適化チューニングMにシステムに配置されたログイン

1、龍GOは、時間のかかるチューニングの設定を行います

デフォルトでは、並列同時GC GCアップグレード
+ UseParNewGC:> -XXを手動コレクタマルチスレッディング新世代指定
各パーティション比S1、曲新世代エデン、S0を
> -XX:= SurvivorRatio 6:エデン領域Survivor0、Survivor1領域サイズ比が6に推奨され、デフォルトでは、エデン8:S0S1 = 611
生きた時代回復の新世代調整する
> -XX:最大しきい値= 5:手動時代の新世代のライブオブジェクト(生存時間)、デフォルトの15を設定します二次

2、龍Gcの周波数を行う紫、チューニング構成

新世代、ヒープ領域を調整し、元の空間サイズ
> -Xmn:メモリ上限の新世代
全領域の初期ヒープメモリ割り当てのサイズ:> -Xms
> -Xmx:最大ヒープメモリの割り当て領域全体限界、および推奨MS Xmxの同じサイズを備え、リソースの消費を回避するために、動的に回収
> -XXを次DK18 XXに対応するメタスペースのサイズ=(DK18サポート):PermSizeを=、最小の素子間隔(永久生成/領域方法)サイズを識別する
> -XX:MaxMetaspaceサイズ(DK 0.8サポート)、以下DK18 XXに対応する:MaxPermSizeを、最大要素の空間を識別する(永久生成/領域方法)サイズ

3、完全なGCは、時間のかかるチューニングの設定を行います

アップグレードは、並列デフォルトに作られGcのGC
> -XX:+使用ConcMarkSweepGC:手動で同時コレクターの古いCMSの使用を指定し
、彼らは紹介しないだろう、実際の戦闘で使用されていないG1コレクタに原因を:注意を
オープンフッラ圧縮、および圧縮フル・ゴーを減らします賛否両論の数
+ UseCMSCompactAtFullCollection:> -XXフーシャンGC中にメモリ圧縮、全開GC圧縮
> -XX:CMSFullGCsBeforeCompaction = 2:X + SE CMscompactAt FullCollection各後、識別番号を使用することに関連して
FuGCの時間トリガ圧縮のためのメモリは、デフォルトでは0回です

4、何のメモリフルGOは成長を続けていない、TP99が増加しました

オープン歳の一定量を使用して、フートリガー強制| Gcのリサイクル
> -XX:+ UseCMSinitiatingoccupancyonを:このオプションを使用せずに、あなたはコスト、プラスに基づいてのCMのgC計算意思決定を行うために必要がある場合は
オプション、ときに、古い世代領域の使用状況無条件実行フーは92%に達し| GC
> -XX:CMSInitiating占有フラクション= 80:手動ときに、古いスペースに達する80%を使用の場合、デフォルトの才と92%回収率)のトリガーを指定したとき
(のGC-世代の永久回復と呼ばれるF開かれたが長所と短所)
> -XX:+ CMSClassUnloading有効:手動永久デフォルトの発生が回復されていない、リサイクルするためCMSコレクタ永久非世代ヒープ領域を指定
> -XX:CMSInitiatingoccupancyフラクション= 80:手動空間の永久的な発生が80使用されていた場合に指定%、トリガーパーマネントコレクション(デフォルト92%)の生成

 
发布了49 篇原创文章 · 获赞 46 · 访问量 33万+

おすすめ

転載: blog.csdn.net/weixin_42343424/article/details/103983574