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 ステートメントはどのように実行されますか?
目次プロトタイプチェーンプロトタイプチェーンに基づいてシンプルなJQueryライブラリを実装すること...
最近、プロジェクトは環境を切り替え、WebLogic を Tomcat に置き換えました。途中で発生...
オペレーティング システム win10 MySQL は、公式 Web サイトからダウンロードした 6...
目次MySQL Load Dataの多様な用途1. LOAD の基本的な背景2. 基本パラメータをロ...
目次MySQL 切り捨ての使用1. 構文を切り捨てる2. Truncateの使用上の注意3. TRU...
目次1. 浅いコピー1. Object.assign(ターゲット、ソース、ソース...) 2. スプ...
目次序文1. モナドの判断1.1 例1.2 オブジェクトに入れる1.3 マップに載せる2. 複数の判...
目次質問1: 小道具は具体的にどのように使用されますか?原理は何ですか?下を見る質問 2: 年齢に ...
前面に書かれたLinux を使用する際にソフトウェアをインストールする必要がある場合があります。もち...
1つ。 tomcat を使用したリモート展開1.1 発生した問題:プロジェクトでは、サードパーティの...
目次JSはFileReaderを通じて.txtファイルの内容を取得します。 .txtファイルの読み取...
日常のメンテナンスでは、スレッドがブロックされることが多く、データベースの応答が非常に遅くなります。...
CSS ウェブページレイアウトを行う場合、XHTML1.0 仕様に準拠する必要があることは誰もが知っ...
1. GitLabの紹介Gitlab 公式アドレス: https://about.gitlab.co...
通常、vue プロジェクトではルーティングを使用します。vue-router は vue.js の公...