注: VisualVM がリモート サーバーに接続するには、JMX と jstatd という 2 つの方法があります。どちらの方法でもすべての機能を完全にサポートできるわけではありません。
たとえば、JMX は VisualGC をサポートしていません。
jstatd は CPU 監視をサポートしていません 、
を同時に構成し、実際の使用に必要に応じて選択できます。
jvisualvm プログラムはリモート接続を追加します。ローカル ファイアウォールをオフにしてください。
通常の SpringBoot 起動コマンドは
nohup java -jar demo.jar &
監視を使用した後:
nohup java -Djava.rmi.server.hostname=192.168.81.149 \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=1099 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -jar jvm-1.0-SNAPSHOT.jar &
java -Djava.rmi.server.hostname=192.168.81.149 \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=1099 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -jar jvm-1.0-SNAPSHOT.jar
jvm -1.0-SNAPSHOT.jar はプロジェクトの jar パッケージです。
192.168.81.149 はプロジェクトがデプロイされているマシンの IP です。
1099 は jvisualvm が接続する必要があるリモート ポート番号です
authenticate=false 無効です。ユーザー認証
##2. ローカルの jvisualvm を使用してリモートを監視します
開いた後は何もないかもしれません、空です。これは、プロジェクトには誰かがアクセスする必要があるためです。
##jstatd
vi jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
jstatd -J-Djava.security.policy=jstatd.all.policy \ -J-Djava.rmi.server.hostname=192.168.81.149 \ -J-Djava.rmi.server.logCalls=true -p 1098
-J-Djava.security.policy=jstatd.all.policy 指定路径 -J-Djava.rmi.server.logCalls=true 打印日志 -J-Djava.rmi.server.hostname=192.168.81.149 指定主机名,主机名应该和你用hostname -i命令执行出来的结果一致。
java -jar jvm-1.0-SNAPSHOT.jar
この 1,098 は、実際には、入力時の 1098 の自動変換です# ##################################
以上がJvisualvm を使用してリモート SpringBoot プロジェクトを監視する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。