4

異なる同時実行ロジックを使用するJavaアプリケーションの2つのバージョンがあります。
より良いものを使用できるように、それらのパフォーマンス(ロックが取得された時間など)を分析して比較したいと思います。

IBM Lock Analyzer for Javaのツールを見つけましたが、これはオープンソースでもJDKバージョンにも依存しません。
IBM®が提供するJava™SDKまたはJREが必要です。

これもIBMの別のツールはマルチコアソフトウェア開発キットであり、次の問題があります。

「MSDKのテストおよび分析ツールは、ロック分析ツールを除いて、SunJDKで実行されます。パフォーマンスツールにはIBMJDKが必要です。」

では、Sun / Oracle Javaで動作するそのようなロック分析ツールを誰かが推奨できますか?

4

1 に答える 1

2

これは、コマンドラインから本番環境でロックの競合を見つけるために何度も使用したトリックです。

watch -n1 'jstack [pid] | grep -A 1 BLOCKED | grep -v BLOCKED | grep -v \\-\\-'

無料であるだけでなく、実質的にオーバーヘッドはありません。もちろん、統計や優れたUIは提供されませんが、リアルタイムのロックの問題が視覚的に明らかになります。基本的に、これはブロックされたスレッドを見つけるために毎秒サンプリングしています。十分なサーバー負荷があれば、比較できるはずです。

YourKitは優れた商用オプションです。

于 2011-03-22T11:30:27.547 に答える