タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

チューニングに関するtenten0213のブックマーク (4)

  • まじめにJVMチューニング: 第4回 GCアルゴリズムを変えてみる

    Java SE 7 Update 4から、GCの新しいアルゴリズムとして「G1GC」が追加されました。 Java6でもupdate 14から実験的に導入されているようです。 GCアルゴリズムについては下記に概要説明がありました。 第9回 [最終回]HotSpot JVMのGCを選択しよう G1GCアルゴリズムの詳細についてはこちらに超詳しく記載されています。 徹底解剖「G1GC」実装編 GCアルゴリズムの技術的な詳細解説だったら下記のページがよかったです。 GCアルゴリズム詳細解説 G1GCを使うためには -XX:+UseConcMarkSweepGC をはずし、 -XX:+UseG1GC を追加します。 G1GCはヒープを分割して管理しますが、分割のデフォルトサイズが1MBと小さいのでもう少し大きくします。 -XX:G1HeapRegionSize=8M MaxGCPauseMillis

  • まじめにJVMチューニング: 第3回 方針をたててパラメータをいじってみる

    さて、前回までで、ログからフルGC(及び高負荷なコンカレントGC)が発生していることはわかりました。 で、このチューニングの目的は、GCによるマシンへの負担を低減することにあります。 まず「なぜGCが発生するのか?」と「jvmがどうやってメモリ管理を行っているのか?」を知らないとチューニングのしようがないのですが、これらについては、下記に詳しく記載されていたのでリンクをはっておきます。 GC発生の要因  http://www.atmarkit.co.jp/ait/articles/1005/13/news095.html HotSpot JVMのヒープ領域について http://gihyo.jp/dev/serial/01/jvm-arc/0007 で、これらをふまえて・・・ 一口にチューニングと言ってもいくつかのアプローチをとることができます。 とにかくOld領域がいっぱいにならないよう

  • まじめにJVMチューニング: 第2回 GCログをみる

    きほんのきです。 まずはログを見ます。 GCログを出すようにしていない場合は、GCログを出すようにします。 -Xloggc:/var/log/gc.log # 出力先パス -XX:+PrintGCDetails -XX:+PrintGCDateStamps の3つのパラメータを指定してjavaを起動します。 java -XmsXXXXM -XmxXXXXM -Xloggc:/var/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -classpath <クラスパスとか> <プラグラム> <引数> このようにして実行しGCログを採取します。 (上記の例では/var/log/gc.log) で、開いてみると、こんな感じの文字列がつらつらと並んでいます。 ※私の環境では、GCアルゴリズムをコンカレントGCとしています。 2014-01-

  • まじめにJVMチューニング: 第1回 まずは現状確認

    まじめにJVMチューニングに取り組む機会があったので、忘れないようにこの記事を書きました。 GCアルゴリズムやパラメータの説明はいろいろなサイトに掲載されていたのですが、 「どうやって取り組むか」「何を見れば良いか」は意外とまとまっていなかったので。 JavaScala製のアプリケーションはもちろんのこと、 Solr, ZooKeeper, Cassandra, Neo4J等jvm上で動くプロダクトを使う場合つねに 「JVMパラメータをどう設定するか」 という課題があります。 最近のミドルウェアでは、インストール時に最適なオプションを渡して javaを実行するようなシェルをつくるrpmを提供していたりしますが。 さて、今回私が取り組んだのはフルGC対策のためのチューニングです。 フルGCとは何かというと、 別名「Stop the World」と呼ばれ、全てのアプリケーション・スレッドを停

  • 1