JConsoler による Tomcat の JVM メモリの監視 1. Tomcatを監視する方法
カスタム監視: コマンドで取得できるものはすべて監視可能 jmx 経由で Java を監視する
ipmi によるハードウェアの監視 ネットワークデバイスがSNMPをサポートしている限り、SNMPを介してネットワークデバイスを監視します。 2. Java独自の監視コマンド
[root@localhost ~]# jps -lvm 7457 org.apache.catalina.startup.Bootstrap を開始します -Djava.util.logging.config.file=/application/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/application/tomcat -Dcatalina.home=/application/tomcat -Djava.io.tmpdir=/application/tomcat/temp 7525 org.apache.catalina.startup.Bootstrap を開始します -Djava.util.logging.config.file=/application/tomcat_8082/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/application/tomcat_8082 -Dcatalina.home=/application/tomcat_8082 -Djava.io.tmpdir=/application/tomcat_8082/temp 9144 sun.tools.jps.Jps -lvm -Denv.class.path=.:/application/jdk/lib:/application/jdk/jre/lib:/application/jdk/lib/tools.jar -Dapplication.home=/application/jdk1.8.0_60 -Xms8m 7482 org.apache.catalina.startup.Bootstrap を開始します -Djava.util.logging.config.file=/application/tomcat_8081/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/application/tomcat_8081 -Dcatalina.home=/application/tomcat_8081 -Djava.io.tmpdir=/application/tomcat_8081/temp
[root@localhost ~]# jmap -heap 7457 プロセス ID 7457 に接続しています。お待ちください... デバッガーが正常に接続されました。 サーバーコンパイラが検出されました。 JVMバージョンは25.60-b23です スレッドローカルなオブジェクト割り当てを使用します。 マークスイープコンパクトGC ヒープ構成: 最小ヒープ空き率 = 40 最大ヒープ空き率 = 70 最大ヒープサイズ = 255852544 (244.0MB) 新しいサイズ = 5570560 (5.3125MB) 最大新規サイズ = 85262336 (81.3125MB) 古いサイズ = 11206656 (10.6875MB) 新しい比率 = 2 生存率 = 8 メタスペースサイズ = 21807104 (20.796875MB) 圧縮クラススペースサイズ = 1073741824 (1024.0MB) 最大メタスペースサイズ = 17592186044415 MB G1ヒープ領域サイズ = 0 (0.0MB) ヒープ使用量: #監視する場合は、この列に注意してください。新しい世代 (Eden + 1 Survivor スペース): 容量 = 12779520 (12.1875MB) 使用済み = 11689352 (11.147834777832031MB) 空き = 1090168 (1.0396652221679688MB) 91.46941356169872% 使用済み エデンスペース: #監視にはこの列に注意してください 容量 = 11403264 (10.875MB) 使用済み = 11059616 (10.547271728515625MB) 空き = 343648 (0.327728271484375MB) 96.98640669899426% 使用済み 宇宙から: #監視するには、この列に注意してください 容量 = 1376256 (1.3125MB) 使用済み = 629736 (0.6005630493164062MB) 空き = 746520 (0.7119369506835938MB) 45.75718470982143% 使用済み スペースへ: #監視の場合はこの列に注意してください 容量 = 1376256 (1.3125MB) 使用済み = 0 (0.0MB) 空き = 1376256 (1.3125MB) 0.0% 使用済み tenured 世代: #監視の場合は、この列に注意してください 容量 = 28164096 (26.859375MB) 使用済み = 18313224 (17.46485137939453MB) 空き = 9850872 (9.394523620605469MB) 65.02329774760035% 使用済み 21146 個のインターンされた文字列が 1882520 バイトを占めています。
3. Tomcatのトラブルシューティング事例システム負荷が高く、TomcatがCPUを多く占有している
4. Tomcat JMX監視を構成する
#bin/catalina.sh を変更する [root@localhost tomcat]# vim bin/catalina.sh # 別々の行に記述することはできません。そうしないと、コマンドが見つからないというエラー メッセージが表示されます。1 行に記述してください。CATALINA_OPTS="$CATALINA_OPTS" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jxmremote.ssl=false -Djava.rmi.server.ホスト名="192.168.81.210" #正しい書き方 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jxmremote.ssl=false -Djava.rmi.server.hostname=192.168.81.210" #説明CATALINA_OPTS="$CATALINA_OPTS" #Tomcat の起動パラメータを変更します -Dcom.sun.management.jmxremote #Tomcat リモート管理機能を有効にします -Dcom.sun.management.jmxremote.port=12345 #ポート 12345 に加えて、リモート管理機能は 2 つのランダム ポートも生成します。すべてのポートを開くことができます Dcom.sun.management.jmxremote.authenticat=false #監視中に認証が必要ですか? -Dcom.sun.management.jmxremote.ssl=false #SSL 接続は有効ですか? -Djava.rmi.server.hostname="192.168.81.210" #Tomcat が配置されているサーバーの IP を設定します 設定が完了したら、Tomcatを再起動し、psコマンドを使用して、出力情報に[root@localhost tomcat]# ps aux | grep javaと記述した行がさらにいくつかあることを確認します。 ルート 17786 5.7 10.6 2306592 105860 ポイント/1 Sl 15:52 0:08 /application/jdk/bin/java -Djava.util.logging.config.file=/application/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jxmremote.ssl=false -Djava.rmi.server.ホスト名=192.168.81.210 -無視.endorsed.dirs= -クラスパス /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/アプリケーション/tomcat -Dcatalina.home=/application/tomcat -Djava.io.tmpdir=/application/tomcat/temp org.apache.catalina.startup.Bootstrap 開始 ss/netstat コマンドを使用して、3 つの追加ポートを確認します [root@localhost tomcat]# ss -lnptu | grep java tcp LISTEN 0 100 :::8080 :::* ユーザー:(("java",pid=17786,fd=56)) #設定 tcp LISTEN 0 50 :::12345 :::* users:(("java",pid=17786,fd=22)) #ランダム1 tcp LISTEN 0 50 :::46272 :::* ユーザー:(("java",pid=17786,fd=21)) # ランダム2 tcp LISTEN 0 50 :::46081 :::* ユーザー:(("java",pid=17786,fd=24)) tcp LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* ユーザー:(("java",pid=17786,fd=65)) 5. Jsconsoleを使用してJMXに接続し、監視データを表示します。JConsoler を使って Tomcat の JVM メモリを監視する方法についてはこれで終わりです。JConsoler による Tomcat JVM メモリの監視の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: MySQL では SQL ステートメントはどのように実行されますか?
<br />読みやすさはウェブサイトにとって非常に重要な部分であり、ウェブサイトの核心と...
目次バックグラウンドで10,000個のデータが失われた再帰法非再帰的方法要約するバックグラウンドで1...
まず、コマンドラインまたはワークベンチを使用して MySQL にログインできず、「ユーザー '...
ウェブデザイナーを長い間悩ませてきた疑問があります。それは、固定レイアウト、流動的レイアウト、柔軟レ...
導入増分バックアップとは、完全バックアップまたは最後の増分バックアップの後、後続の各バックアップでは...
システムの crontab を使用して定期的にバックアップ ファイルを実行し、バックアップ結果を日付...
CSS には多くの属性があります。特に複数の値を設定する必要がある属性は、長期間使用しないと忘れられ...
teeコマンドは主にstandout(標準出力ストリーム、通常はコマンド実行ウィンドウ)に出力し、同...
目次1 Nginxのインストール2 Nginxの設定3 ホストファイルを変更する4 テストNginx...
この記事では、Jingdongの虫眼鏡効果を実現するためのJavaScriptの具体的なコードを紹介...
問題記録今日はプログレスバーに似た小さなコンポーネントを完成させるつもりでした。プロトタイプは次のよ...
目次JavaScript で配列を作成する配列の使用配列を分割文字列に変換する配列に要素を追加する配...
目次まず、package.jsonを設定します次にwebpackツールをインストールしますwebpa...
MySQL では、SQL ステートメント rename table を使用してテーブル名を変更できま...
HTML コード内の連続するスペースまたは空白行 (改行) はすべて 1 つのスペースとして表示され...