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() ; } } }