package com.dy.common.util;
|
|
import lombok.Data;
|
import oshi.hardware.GlobalMemory;
|
|
import java.text.DecimalFormat;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2024/8/2 13:42
|
* @Description
|
*/
|
public class SysMemoryUtil {
|
|
/**
|
* 内存信息
|
*/
|
public static MemInfoVo info(GlobalMemory memory) {
|
MemInfoVo vo = new MemInfoVo() ;
|
vo.setTotal(toGbytes(memory.getTotal()));
|
vo.setUsed(toGbytes(memory.getTotal() - memory.getAvailable()));
|
vo.setFree(toGbytes(memory.getAvailable()));
|
return vo ;
|
}
|
|
private static double toGbytes(double value){
|
return value/1000000000.0 ;
|
}
|
|
@Data
|
public static class MemInfoVo {
|
/**
|
* 内存总量
|
*/
|
public double total;
|
|
/**
|
* 已用内存
|
*/
|
public double used;
|
|
/**
|
* 剩余内存
|
*/
|
public double free;
|
|
public String toString(){
|
DecimalFormat df = new DecimalFormat("#.####"); // 设定格式
|
StringBuilder sb = new StringBuilder() ;
|
sb.append(" 内存信息:\n");
|
sb.append(" 内存总量(G):" + df.format(total) + "\n");
|
sb.append(" 已用内存(G):" + df.format(used) + "\n");
|
sb.append(" 剩余内存(G):" + df.format(free) + "\n");
|
|
return sb.toString() ;
|
}
|
}
|
}
|