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