Post

JShell로 서버의 실시간 swap memory 확인하기

문제 상황

현재 서빙하고있는 서버가 설정해놓은 swap memory와 여유 공간이 어느정도 되는지 실시간으로 체크하는 방법에는 무엇이있을까??
해당 값들을 태깅 후 폴링하여 모니터링 서버에서 체크 해도 좋고 직접 서버에서 체크해도 좋다.
글에서는, JShell을 사용해 실시간으로 서버의 swap memory를 체크하는 방법에 대해 정리하고자 한다

상황 발생 환경 및 스택

JShell을 사용한 Swap Memory 체크

1
2
// JShell 실행
$ jshell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// JShell에서 사용할 명령어 import
import java.lang.management.ManagementFactory;
import javax.management.*;
import java.util.logging.Logger;

var DOMAIN = "java.lang";
var OBJECT_KEY = "type";
var OBJECT_VALUE = "OperatingSystem";

var mBeanServer = ManagementFactory.getPlatformMBeanServer();
var objectName = new ObjectName(DOMAIN + ":" + OBJECT_KEY + "=" + OBJECT_VALUE);

var totalSwapSpaceSize = Long.parseLong(mBeanServer.getAttribute(objectName, "TotalSwapSpaceSize").toString());
var freeSwapSpaceSize = Long.parseLong(mBeanServer.getAttribute(objectName, "FreeSwapSpaceSize").toString());

Logger log = Logger.getLogger("MyLogger");
log.info("Total Swap Space Size: " + totalSwapSpaceSize);
log.info("Free Swap Space Size: " + freeSwapSpaceSize);
This post is licensed under CC BY 4.0 by the author.