Java プロセスのパフォーマンスを監視し、レポートを自動的に取得する必要があります。レポートには、メモリ使用率、スレッド使用率、プロセス使用率などに関するデータが含まれているはずですが、これを達成する方法がわかりません。助言がありますか?
3 に答える
Java プロセスのパフォーマンスを監視し、レポートを自動的に取得する必要があります。
待ち時間やスループットなど、アプリケーションのユーザーにとって重要な測定値を決定する必要があります。これらは、すべてがシステム的に問題ないように見えても、影響を受けることがよくあります。たとえば、5 分間で 6% しかビジーでない 8 CPU システムは問題ないように聞こえるかもしれませんが、5 分ごとに 1 つの要求があり、2 分以上かかる場合があります。
レポートには、メモリ使用率、スレッドの使用状況に関するデータが含まれている必要があります。
スレッドの重要な機能は、デフォルトでオブジェクトを共有します。これは、スレッド ローカル メモリの使用量がほとんど常に些細なものであり、一般的に測定する価値がないことを意味します。
プロセスの使用法など
これは、長期間のキャパシティ プランニングには役立ちますが、アプリケーション固有の問題を見つけるのには役立ちません (上記を参照)。
しかし、これを達成する方法がわかりません。助言がありますか?
アプリケーションのユーザーに影響を与える問題を見つけるのに役立つメトリクスを見つけてください。
プログラム経由でデータを取得する場合は、この目的で JMX API を使用できます。これは、このトピックに関するオラクルのチュートリアルです。
プロセスを監視するだけの場合は、VisualVM などのツールがあります。
VisualVM は、メモリ使用率などを監視する優れたツールです。VisualVM