카테고리 없음
[java] cpu, memory usage monitoring
광82
2023. 9. 26. 13:12
반응형
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사용률을 비교해보면 거의 동일한 것을 확인 할 수 있습니다.
반응형