チューニング | JVMパフォーマンス監視とチューニングを知らないと言うのはやめましょう

チューニング | JVMパフォーマンス監視とチューニングを知らないと言うのはやめましょう

[[350999]]

この記事はWeChatの公開アカウント「小明野菜市場」から転載したもので、著者は小明野菜市場です。記事を転載する場合は小明野菜市場の公式アカウントまでご連絡ください。

こんにちは!私はシャオシャオです。今日は今週最後の記事です。この記事では、JVM のチューニングとパフォーマンスの監視に焦点を当てます。

一般的なツール

よく使用されるツールは、主に JDK 組み込みツールと Arthas です。

JDK組み込みツール

jps 仮想マシンプロセスステータスツール

仮想マシンのプロセスステータスを表示するためのツールコマンドの例

  1. $ jps
  2. 15236 日本人
  3. 14966 例1

jstat 仮想マシン統計監視ツールは、仮想マシンのヒープ メモリ、メモリ情報、クラスのロードおよびアンロード情報などを表示するために使用されます。

ヒープメモリ情報を表示する

  1. jstat -gc 14966
  2. S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
  3. 2048.0 2048.0 0.0 0.0 12800.0 9345.8 34304.0 26638.8 5248.0 4971.3 640.0 554.9 2 0.032 2 0.049 0.082

ヒープメモリ情報を1000ミリ秒ごとに10回印刷する

クラスのロードとアンロードの情報を表示する

  1. $ jstat -クラス 14966
  2. ロードされたバイト数 アンロードされたバイト数 時間 
  3. 829 1604.4 0 0.0 0.37

Java 構成情報ツール

JVMの起動パラメータを表示する

  1. $ jinfo -フラグ 26472
  2. VM フラグ:
  3. -XX:CICompilerCount=3 -XX:InitialHeapSize=52428800 -XX:MaxHeapSize=52428800 -XX:MaxNewSize=17301504 -XX:MinHeapDeltaBytes=524288 -XX:New

jstack Java スタック トレース ツール

つまり、現在のメモリに対して関連するスナップショットが生成され、関連するスナップショット情報が保存されます。

jmap Kava メモリ マッピング ツール

メモリオブジェクトの数と占有されているメモリスペースを表示するために使用されます

jhatはhtmlタイプのスナップショットファイルを生成します

  1. $ jhat ダンプ.hprof
  2. dump.hprofから読み込んでいます...
  3. ダンプファイルは2020年5月3日日曜日17:09:07 CSTに作成されました
  4. スナップショットを読み取り、解決中...
  5. 42293 個のオブジェクトを解決しています...
  6. 参照を追跡すると、8 つのドットが予想されます。
  7. 重複参照の削除............
  8. スナップショットが解決されました。
  9. ポート7000HTTPサーバーを起動しました
  10. サーバーの準備できました

起動後、ブラウザを開き、http://localhost:7000/

jvisualvm & VisualVM: ヒープダンプスナップショット分析ツール

上記のコマンドと同様に、ウェブサイトではなくファイルを直接エクスポートします。


オブジェクト情報


スレッド情報

jconsole: JVM パフォーマンス監視

パフォーマンス監視用のユーザーインターフェースを起動します


起動に成功した後

アルサス

AlibabaのオープンソースJava診断ツール

インストール

ダウンロード

  1. wget https://alibaba.github.io/arthas/arthas-boot.jarjava -jar arthas-boot.jar

解凍

  1. arthas-packaging-bin.zip を解凍します。

インストール

  1. sudo su adminrm -rf /home/admin/.arthas/lib/*cd arthas./install- local .sh

起動する

  1. ./.shとして

ヘルプ

ダッシュボードリアルタイムデータパネル

スレッド スレッド情報


jad 逆コンパイル クラス

データの観察を見る

チューニング

展開


Full GC 時間が長いため、サーバーが頻繁にフリーズします。その理由は通常

  1. 新しい世代が小さすぎるため、オブジェクトが古い世代に早めに入り、フルGCがトリガーされます。
  2. 古い世代は大きく、フルGCには長い時間がかかります

解決策は、NewRatio の値を減らして、古い世代に入るオブジェクトの数をできるだけ減らすことです。

メモリ使用量を調整する

直接記憶

OutOfMemoryError: ダイレクトバッファメモリを回避するために XX:MaxDirectMemorySize を調整します

スレッドスタック

StackOverflowError または OutOfMemoryError を回避するために -Xss を調整します: 新しいネイティブ スレッドを作成できません

GCの観点から、多数のオブジェクトが新世代に生き残る問題を解決し、マイナーGC時間が長すぎるというパラメータを調整します。

  1. -XX:生存率=65536
  2. -XX:最大テンリングしきい値=0
  3. -XX:常に在職

著者について

私は、二級都市で生まれ、一級都市に住んでいるプログラマーの Xiaoxiao です。私はXiaoxiaoです。また次回お会いしましょう。

<<:  Kubernetes をローカルで実行するための 4 つのオープンソース ツール

>>:  Microsoft プラットフォームを使用してクラウドベースのインテリジェント サプライ チェーンを構築し、「在庫切れ」のジレンマを回避します。

推薦する

なぜ今、個人のウェブマスターが減っているのでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス数年前、インターネット上...

なぜ一部のウェブサイトは最初から失敗する運命にあるか

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています同じウェブ...

#おすすめ# 日本サーバー:3つのネットワークに直接接続、高速ソフトバンク回線、Windowsをサポート

bgpto は主に独立サーバーレンタルサービスを提供しており、データセンターはシンガポール、香港、日...

分散技術:原理から応用まで、分散技術の魅力と未来を総合的に分析 - 分散計測指標

分散技術の発展の歴史を見ると、分散とは実際には、単一のコンピュータが複雑で大規模なデータやタスクを処...

#実用情報アルバム# 「ブラック5」のどの「ホスト」を買う価値があるのか​​をウェブマスターがご案内します!

11月29日、世界第2位のショッピングカーニバル、ブラックフライデー。クレジットカード、PayPal...

UCloud 紀新華社:伝説のハッカーキャリアから数千億ドルのクラウドコンピューティングのユートピアへ

中国初のハッカー集団の一人であり、ファーウェイとテンセントのセキュリティ責任者、そしてシャンダクラウ...

2021 年のクラウド コンピューティングのトレンド予測

現在、クラウド コンピューティングは、COVID-19 危機に対する世界的な対応の中核となるテクノロ...

優れたウェブサイト編集者がウェブサイトの最適化を行うには、どのような資質が必要ですか?

ご存知のとおり、ウェブサイトの最適化プロセスは実際には段階的なプロセスです。このプロセスでは、サイト...

Google SEO最適化技術の12のポイント

Google SEO最適化技術の12のポイント1. サーバーが設置されている地域を選択するGoogl...

海雲傑宣:OpenStackは順調に発展しており、コンテナ化が一般的なトレンドとなっている

「OpenStackとクラウドコンピューティングは成熟し、企業や通信ユーザーが大量に導入し始めていま...

プロモーションチャネルの選択方法は?これらの5つの原則と4つの次元を見てみましょう

疫病の影響で、交通はオンラインに移行し、プロモーションチャネルもオンラインに移行しました。この記事は...

sakuraserver vmware vps/4.49 USD/月/1 GB RAM/50 GB SSD/G ポート

sakuraserver は 2017 年 3 月に設立されたサービス プロバイダーです。メインの ...

ユーザーの検索行動とキーワード分析(V)

4 番目の記事が完成した後、誰かが私に「誰もが同じトリックをいくつか知っていますが、それらのトリック...

知乎ビデオ「独立」

今年5月に知乎が開始した動画クリエイター募集計画が、出兵前のスローガンのようなものだとすれば、知乎の...