前回の記事では、主に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分で簡単に理解する
多くのウェブサイトには一定の PR 値があります。実際、PR 値は Google がウェブサイトの品...
ロビンは最近、英語の SEO プロジェクトに取り組んでいます。関連データを観察し、いくつかの戦略を実...
多くのウェブマスターは、民間医療業界における短い単語を懸念しています。なぜなら、多くの短い単語を思い...
エンタープライズシンクタンクが発表したデータによると、2016年12月時点で、 WeChatの月間ア...
コンテンツの観点からタオバオのサプライネットワークを分析するコンテンツは王様という言葉は、ウェブマス...
私たちの SEO の観点からすると、最高の SEO とは優れたユーザー エクスペリエンスを提供するこ...
地球上の誰もが知っているチャイナモバイルやチャイナテレコムのような企業は、なぜ莫大な費用を広告に費や...
ftpit は来年のブラック フライデーのプロモーションを発表しました。KVM と OpenVZ の...
Google は社内の仕組みについて口を閉ざしていることで知られているが、うっかり漏れてしまうような...
JD.comとSuningのプロモーション戦争の盛り上がりの裏では、国内の中小電子商取引企業の生存状...
さまざまな業界でデジタル化、インテリジェント化が進むにつれ、クラウドコンピューティング、ビッグデータ...
高リソースの VPS にあまりお金をかけたくない場合は、次の 2 つの VPS が適している可能性が...
インターネット コンテンツの更新プロセスでは、企業の Web サイトのスナップショットの更新を確実に...
シングルページのウェブサイトは誰からも人気があり、それがもたらす商業的価値が人々を惹きつける交差点と...
クラウドへの移行が賢明な選択である理由は何ですか?どの企業にもクラウドに移行する理由があります。しか...