package com.dy.common.util;
|
|
import lombok.Data;
|
|
import java.net.UnknownHostException;
|
import java.text.DecimalFormat;
|
import java.util.Properties;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2024/8/2 13:52
|
* @Description
|
*/
|
public class SysJvmUtil {
|
|
/**
|
Java虚拟机信息
|
*/
|
public static JvmInfoVo info() throws UnknownHostException {
|
JvmInfoVo vo = new JvmInfoVo() ;
|
Properties props = System.getProperties();
|
vo.setTotal(toMbytes(Runtime.getRuntime().totalMemory()));
|
vo.setMax(toMbytes(Runtime.getRuntime().maxMemory()));
|
vo.setFree(toMbytes(Runtime.getRuntime().freeMemory()));
|
vo.setVersion(props.getProperty("java.version"));
|
vo.setHome(props.getProperty("java.home"));
|
return vo ;
|
}
|
|
private static double toMbytes(double value){
|
return value/1000000.0 ;
|
}
|
|
@Data
|
public static class JvmInfoVo {
|
/**
|
当前JVM占用的内存总数(M)
|
*/
|
public double total;
|
|
/**
|
JVM最大可用内存总数(M)
|
*/
|
public double max;
|
|
/**
|
JVM空闲内存(M)
|
*/
|
public double free;
|
|
/**
|
JDK版本
|
*/
|
public String version;
|
|
/**
|
JDK路径
|
*/
|
public String home;
|
|
|
public String toString(){
|
DecimalFormat df = new DecimalFormat("#.####"); // 设定格式
|
StringBuilder sb = new StringBuilder() ;
|
sb.append(" JVM信息:\n");
|
sb.append(" JVM最大可用内存总数(M):" + df.format(max) + "\n");
|
sb.append(" JVM占用的内存数(M):" + df.format(total) + "\n");
|
sb.append(" JVM空闲内存数(M):" + df.format(free) + "\n");
|
sb.append(" JDK版本:" + version + "\n");
|
sb.append(" JDK路径:" + home + "\n");
|
|
return sb.toString() ;
|
}
|
}
|
|
|
|
}
|