著者 |悟空兄弟 ソース | 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つの理由
人生にはいたるところに罠がありますが、SEO 最適化では罠はなおさら避けられません。ここで話題にして...
多くの優れたスタートアップ製品は、一人の人間が突然素晴らしいアイデアや非常に有望なモデルを思いついた...
インターネットでお金を稼ぐ秘密の方法はありません。中国人の本質は他人を真似ること、または率直に言えば...
Java アプリケーションの場合、Java ヒープは仮想マシンによって管理されるメモリの最大の部分で...
「女が三人いれば芝居がうまい」という古い諺があります。女性はおしゃべりが上手で、話題を見つけるのが得...
どの業界のウェブマスターも、SEO最適化の重要性をよく知っています。これらの業界の中で、タオバオのS...
1. STOエクスプレスとJD.comの「決裂」:JD.comのスペアパーツ倉庫物流入札が原因1社は...
2009 年に設立された smart2host は、ルーマニアのデータ センターでのホスティング ビ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス電子メール マーケティン...
Google は昨年 2 月に最初のパンダ アップデートを開始しました。当時、多くの Web サイト...
raksmart が日本のデータセンターに VPS を新規導入しました。トラフィック制限がなく、主流...
過去 2 年間、特に 2013 年は、Security Alliance によって認証された Web...
Nuandao の前身は、Diandian.com の個人ブログでした。デザインを愛する共同設立者の...
最近、マイクロソフトは2020年12月31日までの第2四半期財務報告書を発表しました。報告書によると...
最近、「紫天サーバーネットワーク停止」事件がインターネット上で大きな注目を集めている。多くの Dia...