タグ

Javaとjvmに関するmamatumoのブックマーク (6)

  • rough justice: jstat + visualgc でリモートホストを監視

    それではjstatとvisualgcを使って、リモートホストのTOMCATを監視してみましょう。 まずは「監視される側(TOMCATの動作する側)」のホストの準備をおこないます。 visualgcへ監視内容を通知するデーモンプログラム(エージェント)「jstatd」を 実行します。jstatdを起動するには「ポリシーファイル」が必要です。 ポリシーファイルでは厳密なセキュリティポリシーを定義することができますが、 今回は簡単に全てを許可するポリシーとします。 (外部公開ホスト等では絶対にこの設定ではダメです) grant { permission java.security.AllPermission; }; ファイル名は仮に「all.policy」とでもして、適当な所に保存します。 保存したらjstatdを起動します。プロンプトからポリシーファイルを保存したパスに 移動して

  • チューニングに使えるJava性能監視ツール

    JavaVMの状況を簡易出力するjstat Javaには、グラフィカルなフラフを出力する環境やリソースがない場合を想定したツールも用意されています。jstat(Java 1.4以前はjvmstat)と呼ばれるツールです。使い方は簡単です。 jstat -出力オプション(-h[ヘッダーを出力する行間隔]) [プロセス番号] [出力間隔(ミリ秒)] [注] 出力オプションについては[Java 仮想マシン統計データ監視ツール]を参考にしてください。 例えば、 C:\>jstat -gcutil -h5 6684 1000 を入力すると、次のように出力されます。 出力オプション: gcutilで指定されたフォーマットで、ヘッダーを5行間隔、1秒間隔で出力します。 S0 S1 E O P YGC YGCT FGC FGCT GCT 87.58 0.00 74.95 69.37 99.47 302 0

  • GCの可視化ツールを調べてみた - oknknicの日記

    JavaのGCを可視化するツールについて調べてみた。 GCのインターバルが短いとGCによる負荷が高いといえるため、ヒープサイズを調整することで性能改善が見込まれる。 リアルタイムで可視化 visualgcを用いる。 1. jvmstat のページのダウンロードリンクから、 jvmstat をダウンロード(※visualgcも含まれている) 2. %JAVA_HOME%/bin/jps.exe を実行し、GC監視対象のJVMプロセス番号を確認する 3. %JVMSTAT_HOME%/bat/visualgc.cmd を、上記で確認したJVMプロセス番号を引数で指定して実行する ログ出力&Viewerで可視化 実運用中は、リアルタイム表示は負荷が大きいため非現実的。 そこで、JVMの起動オプションでログ出力を指定し、ログをはかせる。で、そのログをGCViewerで視覚的に表示。 1. 下記のコ

    GCの可視化ツールを調べてみた - oknknicの日記
  • Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か

    GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu

    Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
  • Mostly-Concurrent Mark & Sweep GC のアルゴリズム

    目次 1. 前置き 2. HotSpot VM 1.4.x の GC の種類 3. Mostly-concurrent Mark & Sweep 4. 応用 4.1 世代別 GC との組み合わせ 4.2 カードマーキング (Card Marking) 4.3 並列化 (Parallel GC) 4.4 ビットワイズ・スイープ (Bitwise Sweep) 4.5 インクリメンタル・コンパクション (Incremental Compaction) 5. 参考文献 脚注 コメント 1. 背景 ガーベージコレクション(GC) には色々なアルゴリズムが存在するが、大雑把に言って Stop-the-World (STW) 型 GC と On-the-fly 型 GC に大別される。 STW 型の GC はプログラムの実行中にはガーベージの回収を行わず、メモリが枯渇した時になって始めてガーベージの回

  • Java 暗号化拡張機能 JDK5.0

    Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.

  • 1