How do I monitor the computer's CPU, memory usage in Java?
java api를 확인해보면 아래 인터페이스를 확인할 수 있습니다.
Interface OperatingSystemMXBean 를 활용하면 모니터링 프로그램을 쉽게 만들 수 있습니다.
[주요 메소드]
getSystemCpuLoad() : Returns the "recent cpu usage" for the whole system
getTotalPhysicalMemorySize() : Returns the total amount of physical memory in bytes
getFreePhysicalMemorySize() : Returns the amount of free physical memory in bytes.
아래 코드는 CPU사용률, 메모리 잔여량, 전체 물리메모리량을 확인할 수 있는 코드입니다.
#소스코드
package com.xmpo;
import com.sun.management.OperatingSystemMXBean;
import java.lang.management.ManagementFactory;
public class Monitoring {
public static void main(String[] args) {
try{
OperatingSystemMXBean osBean = ManagementFactory.getPlatformMXBean(OperatingSystemMXBean.class);
for(int i=0;i<100;i++){
System.out.println("***********************************************************");
System.out.println("CPU Usage : " + String.format("%.2f", osBean.getSystemCpuLoad() * 100));
System.out.println("Memory Free Space : " + String.format("%.2f", (double)osBean.getFreePhysicalMemorySize()/1024/1024/1024 ));
System.out.println("Memory Total Space : " + String.format("%.2f", (double)osBean.getTotalPhysicalMemorySize()/1024/1024/1024 ));
Thread.sleep(1000);
}
}catch (Exception e){
System.out.println(e.toString());
}
}
}
#출력결과
저 PC 사양이 아래와 같은데요. 전체 메모리를 정확하게 출력해주고 있네요.
아래는 작업관리자에서 확인 할 수 있는 CPU사용률과 메모리 수치와 비교해보았습니다.
사용가능 메모리와 CPU사용률을 비교해보면 거의 동일한 것을 확인 할 수 있습니다.
LIST
'Java > 기본' 카테고리의 다른 글
[java] Stream api 사용하기 - 01 (0) | 2021.09.14 |
---|---|
[java] 상속의 개념 알아보기 (0) | 2020.03.21 |
java 멀티쓰레드 간단 테스트 (0) | 2019.10.20 |
[java] 자바 파일 읽고 쓰기 example (FileWriter,FileReader) (1) | 2019.10.16 |
[java] 프로그램 실행시간 출력 System.currentTimeMillis() (0) | 2019.10.16 |
최근댓글