package com.dy.common.util;
|
|
import lombok.Data;
|
|
import oshi.SystemInfo;
|
import oshi.hardware.HardwareAbstractionLayer;
|
|
import java.util.LinkedList;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2024/8/2 15:37
|
* @Description
|
*/
|
public class SysUtil {
|
|
public static InfoVo info() throws Exception {
|
InfoVo vo = new InfoVo() ;
|
SystemInfo si = new SystemInfo();
|
HardwareAbstractionLayer hal = si.getHardware();
|
|
vo.cpuInfoVo = SysCpuUtil.info(hal.getProcessor());
|
|
vo.memInfoVo = SysMemoryUtil.info(hal.getMemory());
|
|
vo.sysInfoVo = SysSysUtil.info();
|
|
vo.jvmInfoVo = SysJvmUtil.info();
|
|
vo.sysFiles = SysFileSysUtil.info(si.getOperatingSystem());
|
|
return vo ;
|
}
|
|
@Data
|
public static class InfoVo {
|
public SysCpuUtil.CpuInfoVo cpuInfoVo ;
|
public SysJvmUtil.JvmInfoVo jvmInfoVo ;
|
public SysMemoryUtil.MemInfoVo memInfoVo ;
|
public LinkedList<SysFileSysUtil.SysFile> sysFiles ;
|
public SysSysUtil.SysInfoVo sysInfoVo ;
|
|
public String toString(){
|
StringBuilder sb = new StringBuilder() ;
|
sb.append("系统信息:\n");
|
sb.append(" " + (cpuInfoVo != null?cpuInfoVo.toString():"") + "\n");
|
sb.append(" " + (jvmInfoVo != null?jvmInfoVo.toString():"") + "\n");
|
sb.append(" " + (memInfoVo != null?memInfoVo.toString():"") + "\n");
|
if(sysFiles != null && sysFiles.size() > 0){
|
for(SysFileSysUtil.SysFile f : sysFiles){
|
sb.append(" " + f.toString() + "\n");
|
}
|
}
|
sb.append(" " + (sysInfoVo != null?sysInfoVo.toString():"") + "\n");
|
|
return sb.toString() ;
|
}
|
}
|
|
public static void main(String[] args) throws Exception{
|
SysUtil.InfoVo vo = SysUtil.info() ;
|
System.out.println(vo.toString());
|
}
|
}
|