タグ

javaとgcに関するmainyaaのブックマーク (5)

  • 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
    mainyaa
    mainyaa 2014/04/10
    " いわゆるサーバ系ソフトウェアを運用する場合には、UseConcMarkSweepGCを付与して停止時間の短いCMS GCを使う。 "
  • JVMのGCのログを-XX:+PrintGCDateStampsでhuman readableにする - oinume journal

    English version JVMでGCのログ出すじゃないですか。んで、その時↓みたいに -XX:+PrintGCTimeStamps っていうオプションを指定するじゃないですか。 TODAY=`date "+%Y%m%d-%H%M%S"` JAVA_OPTS="-server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=256m -XX:MaxPermSize=256m \ -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC \ -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=32 -XX:TargetSurvivorRatio=85 \ -verbose:gc -Xloggc:/usr/local/tomcat/lo

    JVMのGCのログを-XX:+PrintGCDateStampsでhuman readableにする - oinume journal
  • java.lang.ref パッケージの利用方法(SoftReference/WeakReference/PhantomReference) : Java Programming Tips

    【概要】 SoftReference/WeakReference/PhantomReference が含まれる java.lang.ref は JDK1.2 の頃に導入されたパッケージであるが、昔から用意されている API の割にあまり使われていない。このパッケージを利用するとプログラムからガーベージコレクタとの対話を可能になるため、開発の中でヒープの動作をプログラム的に調整したい場合には便利である。 【キーワード】 リファレンス、reference、java.lang.ref、SoftReference、WeakReference、PhantomReference、ReferenceQueue、ガーベージコレクション、ガーベージコレクタ、GC、Garbage Collection、Garbage Collector 1. 参照オブジェクトの種類 (1) ソフト参照(SoftReferen

    java.lang.ref パッケージの利用方法(SoftReference/WeakReference/PhantomReference) : Java Programming Tips
  • Java弱参照メモ(Hishidama's Java Weak reference Memo)

    Java弱参照クラス 通常のインスタンスは、どこかの変数が保持(参照)していれば、GCの対象にならない。 しかし弱参照にして保持すると、他の通常の参照が全て無くなれば、GCの対象になる。 (弱参照という用語を使う場合は、通常の参照は「強参照」と呼ぶ。強参照と弱参照の間に当たるソフト参照、弱参照より下のファントム参照というのもあるらしい) WeakHashMap WeakHashMapは、キーを弱参照で保持するHashMap。 このマップのキーに当たるオブジェクトの(他からの)強参照が全て無くなると、このマップ内からそのキー(と値)が削除される。 例: Map<Integer, String> map = new WeakHashMap<Integer, String>(); // キーを強参照で保持しつつ、マップに値をセット Integer[] force = new Integer[10

  • TerracottaのBigMemory - 技術ブログ読み日記

    POJO Mojo の「BigMemory Explained a bit...」を読みました。 BigMemoryとはTerracotta社が開発した、Javaで文字通り巨大なメモリを扱うための技術です。 大容量メモリ使用時のガベージコレクション JVMのヒープサイズが大きいと、ガベージコレクションの停止時間が非常に長くなります。ある巨大電話会社では、ヒープサイズが48GBのときはJVMが5分以上止まることがあり、2GB×80JVM に分割するようにアプリケーションを書き直したそうです。 どのようにしてGCを回避するか BigMemoryを使うと、JVMのオプションで -Xms に500MBを指定すれば、100GBのメモリを使っていても500MBしかGCの対象にならないのだと言います。しかも、Pure Javaで書かれているそうです。 そのカラクリは、 「BigMemory: Off-h

    TerracottaのBigMemory - 技術ブログ読み日記
  • 1