在项目收集jvm运行状态信息并上传到监控平台是必要的,这样有利于我们分析服务器的运行情况,好让我们对一些潜在的威胁采取相关措施。
首先要了解到ManagementFactory这个类,它是java.lang.Object包下的
java.lang.management.ManagementFactory类。
它是ManagementFactory 类是一种工厂类,用于获取 Java 平台的管理 Bean。此类由静态方法组成,每种静态方法都会返回一个或多个表示 Java 虚拟机组件的管理接口的平台 MXBean。
各种MXBean:
这里我们想要获得jvm运行的参数需使用RuntimeMXBean类
RuntimeMXBean的各种方法如下:
代码如下:
JVM实体类
public class JVMInfo implements Serializable(){
private static final long serialVersionUID = 7593745554626593803L;
/**
* JVM 启动时间
*/
private String jvmStartTime;
/**
* JVM 版本信息
*/
private String jvmVersion;
/**
* jvm名称
*/
private String jvmName;
/**
* 当前线程ID
*/
private String processId;
/**
* 非堆内存使用情况(MB)
*/
private MemoryUsageMB nonHeapMemoryUsage;
/**
* 堆内存使用情况(MB)
*/
private MemoryUsageMB heapMemoryUsage;