前回の記事では、主にJVMのメモリ構造、クラスロードの仕組み、ガベージコレクションの仕組みについて分析しました。記事の順序も段階的になっています。この記事では、主に JDK に付属するツールを分析し、理論を実践に適用します。 まず、これから説明するツールの概要を説明し、次にそれらを 1 つずつ分析してみましょう。 1. パフォーマンス監視ツールの概要 ツールは主に問題を解決するために作成されます。これらのツールが存在するのは、プログラムにパフォーマンス上の問題があるためです。実際、JDK をダウンロードした後、それらのツールは SUN から提供されました。 JDK インストール ディレクトリを確認すると、そのようなツールが多数あることがわかります。 このような exe ファイルは多数見つかりますが、その多くはパフォーマンス監視ツールです。いくつか抜粋して説明させていただきます。
いくつかの一般的なツールがリストされています。実際には、JDK に付属するツールよりも優れたツールがいくつかあります。今後の記事でそれらをリストします。さて、これらのツールの機能とその使用方法を 1 つずつ分析してみましょう。 2. ツール 1. jps: 仮想マシンプロセスステータスツール jps は主に、JVM で実行されているプロセスのステータス情報を出力するために使用されます。構文の形式は次のとおりです。
ホストまたはサーバーの ID。指定されていない場合は、現在のホストまたはサーバーがデフォルトになります。 Windows 10 でテストしました。もちろん、Linux でも試すことができます。方法は同じですが、結果は異なる場合があります。テストするには、さまざまなパラメータ オプションを選択できます。 CMDを開いて対応するコマンドを入力します 2. jstack: スタックトレースツール jstack は、現時点での仮想マシンのスレッド スナップショットを生成するために使用されます。構文の形式は次のとおりです。
vmid は Java 仮想マシン ID であり、通常は Linux/Unix システム上のプロセス ID です。 CMDで直接操作してみましょう: 3. jstat: 仮想マシン統計監視ツール jstat は、仮想マシンのさまざまな動作状態情報を監視し、ローカルまたはリモートの仮想マシン プロセスにおけるクラスのロード、メモリ、ガベージ コレクション、JIT コンパイルなどの動作データを表示できます。構文の形式は次のとおりです。
このパラメータによって表されるオプションは、ユーザーが照会する仮想マシン情報を表し、クラスのロード、ガベージ コレクション、およびランタイム コンパイル ステータスの 3 つのカテゴリに分かれています。 2番目のパラメータ: vmid vmid は Java 仮想マシン ID であり、通常は Linux/Unix システム上のプロセス ID です。 3番目のパラメータ: 間隔 間隔はサンプリング時間間隔であり、 4番目のパラメータ: count カウントはサンプルの数を示します。 次に、このツールを使用して、CMD を開き、対応するコマンドを入力します。 4. jinfo: 仮想マシンのパラメータをリアルタイムで表示および調整する コマンド形式:
最初のパラメータ: オプション
2番目のパラメータ: pid 表示するプロセス ID を指定します。 CMDでテスト: 5. jmap: 仮想マシンのメモリダンプスナップショット(ヒープダンプファイル)を生成する jmap (Java 用メモリ マップ) は、ヒープ ダンプのスナップショット (通常はヒープダンプまたはダンプ ファイル) を生成するために使用されます。 jmap コマンドが適用できない場合は、-XX:+HeapDumpOnOutOfMemoryError パラメータを使用して、仮想マシンのメモリがオーバーフローしたときにスナップショットを生成できます。または、kill -3 pid を使用して生成することもできます。 jmap の役割は、ダンプ ファイルを取得することだけではありません。また、スペースの使用状況や現在使用中のコレクターなど、ファイナライズ実行キュー、Java ヒープ、永続世代に関する詳細情報を照会することもできます。コマンドの形式は次のとおりです。
最初のパラメータ: 2番目のパラメータ: vmid vmid は Java 仮想マシン ID であり、通常は Linux/Unix システム上のプロセス ID です。 cmdでテスト: 6. jhat: メモリダンプスナップショットを分析するが、推奨されないし、遅い このツールは機能が比較的単純で、実行に時間がかかるため、使用はお勧めしません。 MATが推奨されます。 7. JConsole: JMX のビジュアル管理ツール 以前のツールと比較すると、このツールはより頻繁に使用され、非常に重要です。さまざまなデータをグラフィカルに表示できる Java GUI 監視ツールです。また、リモート接続を通じてリモート サーバー VM を監視することもできます。 VM およびリモート VM を監視するために使用される、Java で記述された GUI プログラム。非常に使いやすく、非常に強力な機能を備えています。 cmd に jconsole と入力し、プロセスを選択します。 (前提として、スレッドを作成し、IDE ツールで実行します) 次に、対応するオプションを選択すると、このツールに入ると次のインターフェイスが表示されます。 そこにはメニューがあり、そのうちの 1 つを選択して表示できます。このツールは非常に使いやすく、私が以前に最も頻繁に使用したツールでもあります。 8. VisualVM: オールインワンの障害管理ツール このツールも非常に強力です。これは、ローカルおよびリモート データを表示できるグラフィカル インターフェイスに基づく JAVA GUI 監視ツールです。 Jvisualvm は jconsole と同じように使用されます。コマンドラインに jvisualvm と入力して起動できます。 jvisualvm インターフェースはより美しく、データはよりリアルタイムです。 上部には、表示するさまざまなオプションを選択できるメニューもあります。自分で試してみるのが一番です。 結論 これらのツールについて私が言いたいことはこれだけです。記事の冒頭で、JDK には非常に多くのツールが付属しており、JDK バージョンの継続的な更新によりツールも増えていることがわかりました。それぞれを習得するには時間がかかりすぎます。遭遇した問題を検索し、どのようなツールが使用できるかを確認できます。リストされているツールは、初心者に適しています。 この記事はWeChat公式アカウント「Yugong Yaoyishan」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合は、Yugongyaoyishanの公式アカウントまでご連絡ください。 |
<<: エッジコンピューティングの概要を1分で簡単に理解する
ウェブサイトを構築する前に、常により良い、より多くのキーワードを選択してください。キーワードマッチン...
インターネット マーケティングは、さまざまな Web サイト間の接続を構成する多数のページで構成され...
Weloveservers の 6 月のプロモーションは、残り 48 時間未満で終了しそうです。安価...
クラウド コンピューティングは、当初の構想から今日の広範な実装に至るまで、企業向けクラウド コンピュ...
[[410627]]この記事はWeChat公式アカウント「ネット事情は煙と雲のよう」から転載したもの...
今日、私は A5 Webmaster Network の編集者である Cancan とチャットをしま...
金融とテクノロジーの組み合わせにより、金融サービスの境界が大幅に拡大し、包括的な金融が多数の小規模お...
呂旭成著Dingxiangyuan の CTO であり、Weibo のアクティブ メンバーでもある ...
SEO 業界では、「コンテンツこそが王様」という言葉がよく使われます。この言葉は、検索エンジンには常...
Shopexオンラインストアシステムは、中国で最も広く使用されているオンラインストアシステムです。そ...
ソフト記事はもともと非常に優れたマーケティングおよびプロモーション手法でしたが、残念ながら、ソフト記...
電子商取引は今後のビジネス発展のトレンドであり、鄭州地元企業が解決しなければならない緊急の問題でもあ...
海外クラウドサーバーのおすすめ(良心):どのクラウドサーバーが良いですか?どのクラウドサーバーの方が...
インターネット マーケティング ブランドを確立するための運用コンセプトと実行戦略を見てみましょう。運...
マイクロサービスをデプロイするいくつかの方法を見てみましょう。マイクロサービスは、大規模で複雑なアプ...