タグ

jvmとcmsに関するyassのブックマーク (10)

  • Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Advanced Tuning

    Since JDK 9, G1 GC is the default garbage collector (JEP 248). Up until 2017, Monica has shared some G1 GC details, performance tips, and optimizations that help G1's adaptiveness and provided advice on manual tuning. Since then, G1 has come a long way in improving its adaptiveness. In this session, Monica will cover most of the important optimizations that are delivered from JDK9+ and how they ca

    Garbage First Garbage Collector (G1 GC) - Migration to, Expectations and Advanced Tuning
  • Java 7 CMS GCの基本的な情報の整理 - nekop's blog

    バッチ処理などスループット重視のアプリケーションはデフォルトのパラレルGCで良いが、Java EEアプリケーションサーバなどレスポンスタイム重視のものやHadoopなどのクラスタ系ソフトウェアで死活監視に引っ掛る系などのstop the worldをなるべく避けたいいわゆるサーバ系ソフトウェアを運用する場合には、UseConcMarkSweepGCを付与して停止時間の短いCMS GCを使う。その場合にCMSのチューニングに踏み込もうとするとなんだか難しい記述がいっぱいで若干困るので、簡単なガイドをメモとして書いておく。 対象バージョンは以下。 $ java -version java version "1.7.0_51" OpenJDK Runtime Environment (fedora-2.4.5.1.fc20-x86_64 u51-b31) OpenJDK 64-Bit Serve

    Java 7 CMS GCの基本的な情報の整理 - nekop's blog
    yass
    yass 2014/04/07
    " オブジェクトアロケーションが激しいようなアプリケーションでは92%だと手遅れになることがあるのでCMSInitiatingOccupancyFractionは下げたほうが良い。70とか。"
  • 第13章 パフォーマンスチューニング

    まず wiki の「Performance Tuning」を読んでください。この記事には、RAM、圧縮、JVM の設定など、パフォーマンスに関係する重要な要素についての全般的な説明があります。記事を読んだら、ここへ戻ってきてください。以下では、さらに詳しい情報へのポインタを示します。 Todd Lipcon は、「Avoiding Full GCs with MemStore-Local Allocation Buffers」と題したプレゼンテーションの中で、特に HBase の読み込み時によく発生する、すべてが止まったかのような状態になるガベージコレクション、すなわち CMS が失敗するケースと、古い世代のヒープがフラグメンテーション化するケースの 2 つを取り上げています。最初のケースに対処するには、-XX:CMSInitiatingOccupancyFraction を追加してデフォ

    yass
    yass 2014/04/07
    " CMS が失敗するケースに対処するには、-XX:CMSInitiatingOccupancyFractionを追加してデフォルトより低い値を設定し、CMS をデフォルトよりも早めに開始します。60 パーセントまたは 70 パーセントから開始するようにします "
  • G1GCのつかいどころメモ - nekop's blog

    以下の環境とテストでCMSとG1GCを比較してみた。かなり急ぎでやったので間違っている可能性が多少ある。 16 cores, 32GB mem -Xms24g -Xmx24g 8 instances Infinispan 6.0.3.Final DIST cache, put 4GB data (1KB entry * 2M, 2GB data with one backup copy, 2GB * 2 = 4GB) CMS: -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=30 G1GC: -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:InitiatingHeapOccupancyPercent=30 $ java -XX:+UseG1GC -XX:+PrintFlagsFinal

    G1GCのつかいどころメモ - nekop's blog
    yass
    yass 2014/04/07
    " CMSでGCが間に合わなくてFull GCが発生してしまっている / ケースでG1GCにスイッチするともっとFull GCが起こる / ヒープが十分であればG1GCのほうがポーズタイムは低下する "
  • HotSpot JVM garbage collection options cheat sheet (v2)

    In this article I have collected a list of options related to GC tuning in JVM. This is not a comprehensive list, I have only collected options which I use in practice (or at least understand why I may want to use them). Compared to previous version a few useful diagnostic options was added. Additionally section for G1 specific options was introduced. PDF version

    yass
    yass 2013/08/11
    " This is not a comprehensive list, I have only collected options which I use in practice (or at least understand why I may want to use them). "
  • Garbage collection

    yass
    yass 2013/08/11
    " Articles related to garbage collection in JVM "
  • Javaガベージコレクションのエッセンス

    あるアプリケーションの作業にとって、スループットは最も重要なターゲットです。1つ例を挙げると、長時間実行されるバッチ処理のジョブです。ガベージコレクションが実行されている間、バッチジョブが時々1、2秒止まっても、ジョブ全体がすぐに完了すれば問題ありません。 人間が直接対話するアプリケーションから金融取引システムまで、実質的な他のすべての作業では、システムが1、2秒か、数ミリ秒以上反応しない場合、大変なことになり得ます。金融取引では、しばしば一貫した停止時間と引き換えに、スループットを犠牲にするだけの価値はあります。物理的に利用可能なメモリ量によって制限されるアプリケーションを持ったり、footprintを維持しなければならなかったりすることもあります。そのような場合、停止時間とスループットの面の両方で、パフォーマンスをあきらめなければなりません。 以下のトレードオフは度々起こります。 大部

    Javaガベージコレクションのエッセンス
    yass
    yass 2013/08/05
    Martin Thompson "ヒープメモリ割り当ては、Cランタイムからmallocを使うよりも、コストがかかりません/ CMSは、スループットの削減やコストのかかるminorコレクション、より大きなfootprintを犠牲にして、FullGCの発生を抑えます"
  • wall-climb » コンカレントGCの注意点

    次? 代のサーバマシンによるシステムでは、CPUマルチコア化が進み、OSぜ 64bit化によってメモリも豊富に眩 むような大規模なものが一般的になるのではないでしょうか。このようなサーバ上ぜ Tomcatを起動させる場合、その? 富なリソースを生かしぜ Javaのヒープサイズ、GCチューニングを実施するのが一般的だと思゜ れます。ただし、このオプションを中途半端に? ? すると、逆にパフォーマンスを損なう可能性があることに注? しなければならないようです。 CPUマルチコアリソースを十分に活用する為ぜ GCチューニングパラメータに、「-XX:+UseParNewGC」「-XX:+UseConcMarkSweepGC」があります。前者ぜ GC処理をマルチCPUでパラレルに? 施するオプション、「-XX:ParallelGCThreads=n」と合゜ せてパラレル処理? (n)を指定出来ます。

    yass
    yass 2012/07/24
    " 「-XX:+UseConcMarkSweepGC」を使用した場合、New世代領域のオプションデフォルト値が「-XX:SurvivorRatio=1024 -XX:MaxTenuringThreshold=0」に自動設定されるという点です。1回のマイナーGC後に即Old領域に移動してしまう。"
  • 「Tuning JavaSE for Throughput and Latency」セミナー - torutkのブログ

    オラクル開催のセミナー「Tuning JavaSE for Throughput and Latency」を受講しました。 もともとはJavaOne Tokyo 2012のプログラムだったものが開催できず今日あらためて開催したとのことです。 スライドは、Charlie Hunt氏*1作成のもので、説明は日オラクルのサポートエンジニアの方からでした。(講師の方のブログ発見) http://d.hatena.ne.jp/ytoshima/20120606/1338992985 内容はHunt氏が著した次の書籍に基づくものとのことです。 Java Performance (Java Series) 作者: Charlie Hunt,Binu John出版社/メーカー: Prentice Hall発売日: 2011/10/04メディア: ペーパーバック購入: 1人 クリック: 49回この商品

    「Tuning JavaSE for Throughput and Latency」セミナー - torutkのブログ
    yass
    yass 2012/06/25
    " CMSとG1GCの違いは3つ:コンパクションを行いフラグメントをなくす、使うのが簡単(CMSが難しすぎ)、予測性(≠ハードリアルタイム)。G1GCはコピー型で、CMSはコンパクションがなければコピーしない。"
  • GC改善に役立つ新しいJVMパラメータ | 関口宏司のLuceneブログ

    一定期間更新がないため広告を表示しています

    GC改善に役立つ新しいJVMパラメータ | 関口宏司のLuceneブログ
    yass
    yass 2011/03/18
    " CMS GCが発動されるtenured領域の占有率。ドキュメント上は68%とあるが、われわれの見立てだと90%に近い感覚があり、これでは遅すぎる/メジャーGCのRemarkフェイズをマルチスレッドで実行"
  • 1