チューニング | 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 プラットフォームを使用してクラウドベースのインテリジェント サプライ チェーンを構築し、「在庫切れ」のジレンマを回避します。

推薦する

エッジコンピューティング + モノのインターネットはどのような火花を散らすのでしょうか?

エッジコンピューティング + IoT クラウド プラットフォームは、大手企業間の強力な協力のハイライ...

適切なマーケティング方法を見つけることで、ウェブマスターは水を得た魚のように活躍できる

ウェブサイトのSEOはますます難しくなってきているという人もいれば、考え方を変えて検索エンジンマーケ...

ecovm-$5/Kvm/768m メモリ/9g SSD/500g トラフィック/G ポート/ロサンゼルス

ecovm は、kVM 仮想化、SSD ハードディスクに基づく特別な VPS を推進しており、サーバ...

こんな感じで写真で遊ぶこともできます!楽しいオンライン写真編集サイト 25 選

デザイナーはPhotoshopを使うことに慣れていますが、オンラインで写真を加工することを考えたこと...

百度インデックスは単なる広告モデル

Baidu Index に関しては、どのウェブマスターにとってももはや馴染みのない話ではないと思いま...

インターネット時代の消費パターンの進化:本物の製品から私たちはどれだけ離れているのか?

インターネット上では、正規品に関する議論がますます増えています。インターネットは著作権侵害を助長し、...

ウェブサイトSEOのセキュリティと安定性は無視できない

ビジネス開発とネットワーク最適化のため、多くのウェブマスターは Baidu に対して愛憎入り混じった...

新しいウェブサイトを検索エンジンに認識させ、インデックスさせる方法

多くの初心者ウェブマスターにとって、ウェブサイトをうまく最適化する方法や、ウェブサイトの主要キーワー...

外部ハイパーリンクとプレーンテキストは Web サイトにどのような影響を与えますか?

ウェブサイトの最適化といえば、編集者は重要な外部リンクの構築について言及しなければなりません。外部リ...

ウェブサイトコンテンツの価値創造に関する簡単な議論

ウェブコンテンツの価値を創造し、ウェブサイトでのユーザーエンゲージメントを高め、ページの直帰率を下げ...

微博認証の重要性:本物と偽物の李開復

ソーシャル ネットワーキング サイトでの実名認証は、企業がソーシャル ネットワーク マーケティングを...

AWS が Amazon Aurora と Amazon DynamoDB の新機能をリリース、Amazon Neptune グラフデータベースを開始

[51CTO.com からのオリジナル記事] 本日の AWS re:Invent で、Amazon ...

詳細な分析: 典型的なトランザクション処理の問題と分散システムのモデル

[[282654]]すべての企業はデータ サービスの高可用性を望んでいますが、データの高可用性を実現...

フォーラム署名の外部リンクを作成するときに注意すべきことは何ですか?

毎日のウェブサイトのメンテナンス作業に加えて、すべてのウェブマスターは外部リンク作業も毎日行う必要が...