참고: VisualVM이 원격 서버에 연결하는 방법에는 JMX와 jstatd가 있습니다. 두 방법 모두 모든 기능을 완벽하게 지원할 수는 없습니다.
예를 들어 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에 연결해야 하는 원격 포트 번호입니다. 사용자 인증
열기 아무것도 없고 비어 있을 수 있습니다. 이는 프로젝트에 액세스할 사람이 필요하기 때문입니다.
jstatd
1. 이 방법을 사용하려면 다음을 수행해야 합니다. JDK를 수동으로 설치하거나 jdk가 어디에 있는지 알고 계시나요jdk 디렉토리에 bin을 생성하세요vi jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };jstatd 백그라운드 애플리케이션 포트를 시작하세요(기본값은 1099입니다) ) -p 매개변수를 사용하여 다른 포트
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를 지정합니다. (저는 jstatd.all.policy 파일이 있는 /usr/local/jdk1.8.0_161/bin 경로에서 다음 명령을 실행했습니다. 다른 곳에서 실행하는 경우 기억하세요. 절대 또는 상대 경로 지정)그 중
-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.jar2. 로컬 jvisualvm을 사용하여 원격 모니터링
이 1,098은 실제로 자동으로 변환되는 1098입니다. 들어가면
위 내용은 Jvisualvm을 사용하여 원격 SpringBoot 프로젝트를 모니터링하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!