著者 |悟空兄弟 ソース | 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つの理由
しばらく作業した後、Web サイトが構築されます。新しい Web サイトの所有者として最初に考えるこ...
概要: この記事では主に、Webmaster Home や A5 Webmaster Network...
ウェブサイトの構築では、ウェブページのリダイレクトが必要な状況によく遭遇します。たとえば、ウェブペー...
この記事も私の個人的な経験に基づいています。タオバオは商売が難しいと言われていますが、その難しさは相...
科学のバックグラウンドを持つウェブマスターとして、データ分析は私にとって実はかなり頭の痛い作業です。...
誰もが機密情報ウェブサイトモデルの問題について議論しています。私にはアイデアがあります。どうか私に考...
DevOps は単なる流行の概念ではなく、ソフトウェアが高品質で提供されるかどうかを測る基準となって...
この共有セッションは 4 つのパートに分かれています。最初の部分では、Yifuzhi 社とその事業の...
現在、SEOでは、大量の外部リンクなどの危険な行為をしている人がまだ多くいます。彼らは、Baiduの...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています顧客の印象...
最近、中国工商銀行、中国農業銀行、中国銀行、中国建設銀行の4大銀行は、速達サービスの制限を相次いで調...
[編集者注] この記事の著者は、Kubernetes と Serverless のそれぞれの利点と欠...
草植えトラックではアクションが頻繁に発生します。 3月10日のLatePostによると、lemon8...
中東のVPSは比較的少ないです。中東データセンター(イスラエルVPS)を持つVPSベンダーとしてcl...
tmhhost は毎年恒例のダブルイレブンイベントを開催します。今からすべての VPS が 30% ...