안녕하세요 "미들웨어" 입니다.
지난번에 이어 JBoss & Wildfly 진행을 이어 나가겠습니다.
이번 장에서는 CJMX에 대해 소개하고 사용방법에 대해 알려드리겠습니다.
(JBoss & Wildfly) 기동, 다운 스크립트 생성 방법 (standalone.sh, domain.sh)
(JBoss & Wildfly) standalone-ha.xml 를 사용한 Cluster 구성 방법
(JBoss & Wildfly) wildfly 란? 설치방법 및 기본 구성
(JBoss & Wildfly) JBoss-eap 에서 wildfly 마이그레이션시 발생 에러
(JBoss & Wildfly) wildfly에서 remote ejb 설정 및 구성 방법
(JBoss & Wildfly) Wildfly 에서 Oracle JDBC 연동설정 하는 방법
(JBoss & Wildfly) standalone-ha.xml 를 사용한 session cluster 구성 및 keycloak session-cluster 방식
(JBoss & Wildfly) CJMX란? 사용방법 가이드 (Code Cache 불러오기)
제니퍼나 스카우터에서도 확인이 안되니.. JMX Mbeans를 사용해서 코드캐시를 불러오는 방법 입니다.
CJMX 란..?
| 모니터링되는 프로세스의 JVM에로드 된 클래스가 없어도 대부분의 기능을 수행한다. 원격으로 서버에 연결해서 JMX MBeans 값을 보려면 방화벽 오픈과 설정값 추가로 인해 재기동도 해야하는 불편함이 있는데, CJMX 를 사용하면 서버에 직접 연결해서 JConsole 에서 보는 JMX MBeans 값을 cli 모드로 확인 할 수 있다 |
1. CJMX 다운로드
- 다운로드 URL : https://github.com/cjmx/cjmx
- 파일 : cjmx_2.12-2.7.0-app.jar
2. connect [pid]
- 다운로드된 cjmx_2.12-2.7.0-app.jar 파일을 JMX 모니터링 하고자 하는 서버에 업로드 한다.
- 해당 계정에 JAVA_HOME 설정이 되있다는 가정하게 업로드 파일을 원하는 경로에 /home/wasgosu 추가한다.
> java -cp $JAVA_HOME/lib/tools.jar:/home/wasgosy/cjmx_2.12-2.7.0-app.jar cjmx.Main
위 명령어는 cjmx_2.12-2.7.0-app.jar 파일이 있는 경로에서 수행해야 한다.
3. jps & connect 진행
> jps
JPS를 입력하면 JAVA를 사용하고 있는 PID값을 보기 좋게 확인 할 수 있다.
> connect [pid]
CJMX 로 연결할 PID 값을 connect 명령어로 연동한다.
4. JMX MBeans "name=Code Cache" 값 확인
> mbeans 'java.lang:type=MemoryPool,name=Code Cache' select *
아래 스샷 중 위에가 PeakUsage 이고, 아래쪽이 현재 Usage 메모리 상태이다.
Code Cache=48MB가 default 값이므로, 39285 프로세스의 Code Cache 사용현황은 아래와 같이 확인 할 수 있다.
PeakUsage = committed=48MB, used=48MB
Usage = committed=48MB, used=34MB
5. JAVA 에서 제공하는 JMX Mbeans List
|
java.lang:type=ClassLoading
java.lang:type=Compilation java.lang:type=Memory java.lang:type=OperatingSystem java.lang:type=Runtime java.lang:type=Threading java.lang:type=MemoryManager,name=Metaspace Manager java.lang:type=MemoryPool,name=Code Cache java.lang:type=MemoryPool,name=Compressed Class Space java.lang:type=MemoryPool,name=Metaspace java.lang:type=MemoryPool,name=PS Eden Space java.lang:type=MemoryPool,name=PS Old Gen java.lang:type=MemoryPool,name=PS Survivor Space |
6. 이슈 공유 (JDK 1.7 CodeCache 버그)
사실은.. CJMX를 찾아보게 된 이유는 jdk 1.7 + jboss 버전간 이슈로 인해 CodeCache를 확인해보기 위해서였는데, 도움이 되시길 바랍니다.
열공하세요~
'Apache Tomcat' 카테고리의 다른 글
| (JBoss & Wildfly) JBoss 마이그레이션 툴 "RHAMT" 5.2.0 다운로드 및 설치 방법미들웨어 0건 1,227회 1회 (0) | 2024.04.17 |
|---|---|
| (JBoss & Wildfly) 관리 콘솔 모니터링 기능 설명 (CLI모드, 웹콘솔) (0) | 2024.04.11 |
| (Tomcat) tomcat 9 스크립트 공유 (setenv.sh / kill.sh / memory_dump.sh / t… (0) | 2024.03.27 |
| (Kubernetes-5) 신규VM 생성, kubectl 설치 후 접속 방법 (0) | 2024.03.20 |
| (Kubernetes-4) docker 설치 & 삭제하기 (0) | 2024.03.13 |