VisualVM Remote 연결로 JVM 메모리 사용량 모니터링 하기
by coco3o반응형
VisualVM은 JVM 기반 애플리케이션의 성능을 실시간으로 분석하기 위해 주로 사용하는 오픈소스 기반의 GUI 툴이다.
운영 환경
VisualVM - 2.1.7
OpenJDK - 11.0.21
Linux - CentOS7
WAS - Apache Tomcat 9.0.54
VisualVM 다운로드
JDK 1.7 이상의 경우 JAVA_HOME/bin 밑에 jvjsualvm.exe 파일이 포함 되어 있다.
별도로 필요할 경우 아래 링크를 통해 다운로드 받자.
VisualVM 간단 설명
- Local
- 현재 로컬 컴퓨터에 JVM으로 돌아가는 Application 목록 및 pid
- Remote
- 로컬 컴퓨터가 아닌 다른 서버에 있는 Application 목록 및 pid
- VM CoreDumps
- 코어덤프 파일을 열어둔 목록 및 pid
- Snapshots
- Application 데이터의 스냅샷 파일 목록
VisualVM 원격 연결 방법
1. setenv.sh 파일을 생성하여 JMX Remote 설정을 추가한다.
vi setenv.sh
# !/bin/bash
CATALINA_OPTS="-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=127.0.0.1"
- -Dcom.sun.management.jmxremote=true \
- 모니터링 활성화
- -Dcom.sun.management.jmxremote.port=[port] \
- JMX 원격 접속을 위한 포트 설정
- -Dcom.sun.management.jmxremote.ssl=false \
- SSL 접속 설정
- -Dcom.sun.management.jmxremote.authenticate=false \
- 접속 인증 설정 (활성화시 인증 관련 추가 설정 필요)
- -Djava.rmi.server.hostname=[ip]
- 원격지 ip
2. 설정한 port 번호는 아래 명령어로 연결 허용 여부를 판단해야 한다.
natstat -anl | grep [port]
만약 막혀 있다면 iptables 설정으로 port를 열어줘야 한다
# 1099 port 허용
iptables -I INPUT -p tcp --dport 1099 -j ACCEPT
# 추가한 설정 조회
iptables -nL
# 정책 저장
service iptables save
# iptables 재시작
service iptables restart
3. Tomcat을 구동한다.
4. VisualVM에서 Remote > Add Remote Host... 입력창이 뜨면 원격지의 IP를 입력
5. 등록한 Host > Add JMX Connection... 입력창이 뜨면 JVM 등록시 설정한 port 입력한 후 OK
6. 완료
반응형
'🪐Server' 카테고리의 다른 글
HATEOAS까지 사용해야 완벽한 RESTful이다. (1) | 2023.12.16 |
---|---|
클라우드 컴퓨팅(Cloud Computing)이란? (0) | 2022.04.15 |
서버리스(Serverless)란? (1) | 2022.04.09 |
스케일 업(Scale-Up)과 스케일 아웃(Scale-Out)이란? (0) | 2022.02.07 |
서버 사이드 렌더링(ssr) & 클라이언트 사이드 렌더링(csr) (0) | 2021.11.08 |
블로그의 정보
슬기로운 개발생활
coco3o