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