前回の記事では、主に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分で簡単に理解する
12月17日、百度は山西省陽泉市人民政府と戦略協力協定を締結した。双方は協力して、百度脳、自動運転、...
襄陽白世創運傘下のクラウドコンピューティングサービスブランドであるStandard Intercon...
2015年のCCTV 315 Galaで、CCTVは無料WiFiの危険性を暴露しました。ユーザーが携...
digitalocean はついにシンガポールのデータセンターに VPS を導入しました。ご興味があ...
[概要] ウェブマスターがアプリを作成する場合、配布コストが高く、インストール率や起動率が低いなどの...
今年のダブルイレブンは、タオバオ14年間で初めて売上高が公表されていないダブルイレブンだが、タオバオ...
losangelesvps が HostCat にメッセージを送信しました: 公式が HostCat...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています以前、私は...
ウェブサイトが利益を上げたり、人々に何らかの意味を伝えたりしたい場合、より多くの人々にウェブサイトを...
1か月間、サイトを中心に最適化を行った後、ランキングは急速に上昇し、トラフィックは5〜6倍に増加しま...
今日、あらゆる業界の企業は、厳しい労働環境と予測不可能な経済情勢の中で繁栄するために、大きな課題に直...
上記のクールで少しよそよそしいフォーマットはどうやって作成したのですか?公式アカウントの品質向上に役...
01 macvlan の紹介前回の記事では、tap/tun、veth-pair、bridge といっ...
fadayunは現在、春のスタートに向けて特別プロモーションを開催しています。湖北クラウドサーバーは...
世の中のあらゆるものは発展しています。この言葉はまさに真実です。2009 年、Taoke は人気商品...