JavalobbyにおいてJavaパフォーマンストラブルシューティングに役立つ10のツールがTop 10 Java Performance Troubleshooting Toolsとして紹介されている。OSの限定されるツールもあるため実質的には7つの紹介とみていいだろう。Javaのパフォーマンス分析といえばJDK 6 Update 7からJava VisualVMが同梱されるなど今後のさらなる発展が期待される分野だ。同文書で紹介されているツールは次のとおり。
- jconsole - JDK1.5およびそれ以降のバージョンに同梱されているJavaモニタリングおよびコンソール管理ツール。JMX互換のグラフィカルツールでローカルで動作しているJava仮想マシンもリモートで動作しているJava仮想マシンもどちらもモニタリング可能
- VisualVM - 高性能な軽量プロファイラ。既存のJDK関連ソフトウェアツールを組み合わせたツールで、開発時にも製品に対しても適用できるように設計されており、Java SEプラットフォームのパフォーマンス分析やモニタリングを通じて機能の拡張を実施するために使われる (JDK 6 Update 7から同梱されている)
- HeapAnalyzer - JavaアプリケーションがせいせいするJavaヒープダンプを分析したりヒューリスティック検索エンジンを使うことでJavaヒープリークの可能性のある部分を発見するツール
- PerfAnal - アプリケーションのパフォーマンスを分析するGUIベースのツール。コードにおけるパフォーマンス上の問題点を特定したりチューニングが必要なポイントを発見するために活用できる
- JAMon - アプリケーションをモニタリングするための高性能でスレッドセーフなJava API
-
Eclipse Memory Analyzer
- メモリリークが発生しているポイントを発見するための分析を実施しメモリ消費量を削減するために活用できる高機能ヒープアナライザ
- GCViewer - Java仮想マシン-verbose:gc/-Xloggc:によって生成されるデータを視覚化するためのツール。ガベージコレクタによっておこる性能計測も実施する
同記事ではこれ以外にもHP-UXを使っている場合を対象としてHPjmeter、HPjconfig、Java Out-of-Box Toolといったツールがあることも紹介されている。特に前述されている7つのツールは多くのJava開発者にとって有益なものだ。知らないツールがあった場合には一度調査をおこなってみるといいだろう。