728x90
반응형
SMALL
CPU 사용량과 메모리 사용량을 반환하는 예제이다.
OperatingSystemMXBean 객체를 이용하는데, 해당 객체는 Java 1.7부터 이용 가능하다고 한다.
byte[]로 반환받아야하는 상황이 있어서, 나는 이렇게 코드를 적용했었다.
private static OperatingSystemMXBean osbean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
// ...
/**
* cpu사용량을 가져온다.
*
* @return
*/
public static byte[] getCpuStatus() {
short usedProcessor = (short) (osbean.getSystemCpuLoad() * 100);
byte[] nCPU = new byte[2];
nCPU[0] = (byte) (usedProcessor & 0xff);
nCPU[1] = (byte) ((usedProcessor >> 8) & 0xff);
return nCPU;
}
/**
* 메모리 사용량을 가져온다.
*
* @return
*/
public static byte[] getMemoryStatus() {
long free = osbean.getFreePhysicalMemorySize();
long total = osbean.getTotalPhysicalMemorySize();
float used = (1.0f - (float) free / total) * 100;
byte[] nMemory = new byte[2];
nMemory[0] = (byte) (((short) used) & 0xff);
nMemory[1] = (byte) ((((short) used) >> 8) & 0xff);
return nMemory;
}
728x90
반응형
LIST
'Java' 카테고리의 다른 글
byte 배열을 short으로 (0) | 2020.11.11 |
---|---|
int를 byte배열로 반환 (0) | 2020.11.11 |
이클립스 switch문을 if문으로 (0) | 2020.11.11 |
바이트배열을 헥사값으로 변환 (0) | 2020.11.11 |
getBytes, toString 차이 (0) | 2020.11.11 |