著者 |悟空兄弟 ソース | Wukong チャット アーキテクチャ (ID: PassJava666) この実験の目的は、JVM パラメータの 3 つの主要なタイプを説明することです。 JVM チューニングで最もよく使用される XX パラメータは XX パラメータです。 JVM の XX パラメータの表示方法と設定方法もチューニングの基本的なスキルです。このセクションでは、実験的な方法で JVM パラメータを表示および設定する方法について説明します。皆さんがインスピレーションを得られることを願っています。 標準パラメータ 共通標準パラメータ
実践実験1 - 標準パラメータの表示 実験手順: Java JDKのバージョンを確認する
実験1-1 Java JDKのバージョンが1.8.0_131であることがわかります。
実験1-2
実験1-3 Xパラメータ Xパラメータの紹介 ご存知のとおり、一般的に使用されている javac は Java コードを Java クラス ファイルにコンパイルしますが、クラス ファイルを実行するにはどうすればよいでしょうか。ここでは、3 つの X パラメータを使用して、クラス ファイルが仮想マシンでどのように実行されるかを説明します。
ハンズオンラボ 2 - X パラメータの表示と設定 バージョンを表示
WebIDE のコンソール ウィンドウで Java -version を実行すると、自分の環境で Java プログラムが混合モードで実行されていることがわかります。 実験2-1
WebIDEのコンソールウィンドウでコマンドを実行する 実験2-2
実験2-3 XX パラメータ XXパラメータの紹介 XX パラメータには 2 つのタイプがあり、1 つはブール型、もう 1 つはキーと値のペア型です。
ハンズオンラボ 3 - パラメータが有効になっているかどうかを確認する この実験では主に以下の内容を説明します。実行中のJavaプログラムのPrintGCDetailsパラメータがオンになっているかどうかを確認する
WebIDE メニューを右クリックし、「新規ファイル」を選択して新しいファイルを作成します。 新しいファイル demoXXparam.javaという名前のファイルを作成します。 デモXXparam.java WebIDEでdemoXXparam.javaを書く
WebIDEのコンソールウィンドウでdemoXXparam.javaコードをコンパイルします。
コードのコンパイル コンパイル後、作成したdemoXXparamクラスのdemoXXparam.classバイトコードファイルが現在のフォルダに生成されます。 クラスファイルの作成 WebIDEでdemoXXparamコードを実行する
Javaプログラムの実行 出力:
WebIDEで新しいコンソールウィンドウを開く ターミナル -> 新しいターミナル 新しいコンソールウィンドウを開く 実行中のすべてのJavaプログラムを表示します。-lはクラスファイルのパッケージ名を出力することを意味します。
jps demoXXparamプロセスのIDは518であることがわかりました。 demoXXparam プログラムで PrintGCDetails パラメータが有効になっているかどうかを確認します。 PrintGCDetails: ガベージコレクションが発生したときにメモリ回復ログを印刷し、プロセス終了時に各領域の現在のメモリ割り当て状態を出力します。
ジンフォ 結果は次のとおりです。
前述のように、- 記号はオフを意味するため、現在のデモ プログラムでは PrintGCDetails パラメータはオンになっていません。 ハンズオンラボ 4 - パラメータの有効化
実験4
demoXXparamプロセスのIDを表示する プロセスID demoXXparamのプロセスIDが1225であることがわかります。 demoXXparam PrintGCDetails の設定パラメータを表示する 新しいコンソール ウィンドウを開き、次のコマンドを実行して、プロセス 1225 の PrintGCDetails パラメータが有効になっているかどうかを確認します。
PrintGCDetails パラメータ PrintGCDetails がオンになっていることがわかります。+ 記号はオンになっていることを示します。 ハンズオンラボ 5 - キー値型パラメータ値 メタスペースの価値を見る
メタスペースサイズ このことから、メタスペースのサイズは 21M であると結論付けることができます。 メタスペースの値を128Mに設定する
メタスペースのサイズを確認する
メタスペースのサイズ変更 最も一般的な -Xms と -Xmx はどのようなパラメータですか?
エイリアスがありますが、XX パラメータに属します。 ハンズオン ラボ 6 - -XX:InitialHeapSize と -XX:MaxHeapSize の値を設定します。
InitialHeapSize パラメータの値を確認します。この値は 200M です。 InitialHeapSize の設定
MaxHeapSize パラメータの値を確認します。この値は 200M です。 MaxHeapSizeの設定 拡張機能: Javaプログラムに設定されているすべてのパラメータ値を表示する
マーク
XX構成項目の工場出荷時設定とカスタム設定を表示する方法ハンズオン実験 7 - 工場出荷時の設定ですべてのXX構成項目を表示する
印刷フラグ初期値 ハンズオン実験 8 - JVM の現在の XX 構成項目をすべて表示する
印刷フラグ最終 いくつかの重要な情報を確認できます:
たとえば、以前は MetaspaceSize を 128m に変更しましたが、リストには依然として 21m が表示されます。 グローバルフラグ
要約すると: 工場出荷時設定とカスタムパラメータ設定 ハンズオンラボ 9 - プログラム実行時に XX 構成オプションを印刷する
変更された値は157286400(150M)であることがわかります。 プログラム実行時にXX設定オプションを印刷する ハンズオン ラボ 10 - JVM によって自動的に構成されるか、ユーザー (アプリケーションではない) によって手動で設定される XX オプションを表示します。
次のパラメータが印刷されます: XX オプションは JVM によって自動的に設定されます 実験概要 この実験クラスでは、基本パラメータ、Xパラメータ、XXパラメータの表示方法とXXパラメータの設定方法を学びました。また、jps および jinfo ツールを活用してプロセスを表示し、パラメータを設定します。 JVM パフォーマンス チューニングについては、まだ語るべきことがたくさんあり、1 つの記事ですべてを網羅することはできません。主に小さな実験の形で、いくつかの記事に分けます。 この記事はWeChatの公開アカウント「Wukong Talks Architecture」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合はWukong Chat Architecture公式アカウントまでご連絡ください。 |
<<: クラウドコンピューティングがアプリケーション開発に与える影響を探る
>>: エッジインテリジェンス: この技術シフトが受け入れられつつある5つの理由
中国最大の検索エンジンである百度検索エンジンは、ウェブサイトの開発において非常に重要な補助的な役割を...
最近、メール以外の連絡手段をすべて削除し、プライベートチャットやグループチャットへの参加もやめました...
ご存知のとおり、B2C ウェブサイトは、フォーラムや情報ウェブサイトのように人気を集めて広告を販売し...
数十億のウェブサイトの中で、ユーザーがあなたのウェブサイトをすぐに見つけ、クリックし、閲覧し、取引を...
[51CTO.com クイック翻訳] Antsle (https://antsle.com/) は、...
マーケティング用語に惑わされないでください。クラウド インスタンス上で従来のインフラストラクチャを実...
大まかに言えば、ユーザーの購買行動は主に 6 つのタイプに分けられます。 1. 価格に基づいた購買行...
私たちがやりたいサイト内レイアウトは、一般的に言われているサイト内内部リンクレイアウトではなく、別の...
Baiduのアルゴリズムのアップグレードに伴い、多くのオリジナル記事が含まれなくなりました。なぜでし...
[[432705]]実際の運用アプリケーションでは複数のコンテナが必要になります。これらのコンテナは...
2 月 5 日、Pacisicrack VPS は 80% 割引をリリースし、2GB メモリの年間支...
著者 |尹大偉今日では、クラウド コンピューティングによって提供されるリソースとホスティング サービ...
モバイルインターネットは急速に発展し、モバイル検索は飛躍的に成長しているものの、業界関係者の中には、...
Cloudsilk は、アウトバウンド ジャーニー用の BGP、バックホール用の香港 CMI ネット...
[51CTO.com からのオリジナル記事] Kubernetes は、自動デプロイメント、大規模な...