ManagementFactory-JAVA获取系统相关的信息

java.lang.management.ManagementFactory可以获取JVM的很多数据信息
测试代码如下

package com.lsm.mavenspring;

import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
import java.util.List;

import javax.management.MBeanServer;

import com.sun.management.HotSpotDiagnosticMXBean;

public class MavenSpringApp 
{
    public static void main( String[] args )
    {
        testManagementFactory();

    }

    private static void testManagementFactory() {
//      1获取JVM输入参数
        List<String> list=ManagementFactory.getRuntimeMXBean().getInputArguments();
//      2.获取当前JVM进程的PID
        String name = ManagementFactory.getRuntimeMXBean().getName();  
        String pid = name.split("@")[0];  
//      3.获取当前系统的负载
        ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage();
//      4.获取内存相关的
        ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();//堆内存
        ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage();//堆外内存
//      5.获取堆栈信息相当于jstack
        ManagementFactory.getThreadMXBean().dumpAllThreads(false, false);
//      ThreadInfo 里有线程的信息

//      进行垃圾回收监控
//      MavenSpringApp.main(new String[]{"-gcutil", "-h5",pid,"1s"});

//      如何获取HotSpotDiagnosticMXBean   ?
        MBeanServer server = ManagementFactory.getPlatformMBeanServer();  
//      HotSpotDiagnosticMXBean   hotspotDiagnosticMXBean = new PlatformMXBeanProxy(server, "com.sun.management:type=HotSpotDiagnostic", HotSpotDiagnosticMXBean.class);

        //获取young GC 和full GC 次数
         List<GarbageCollectorMXBean> list1=ManagementFactory.getGarbageCollectorMXBeans();
        for(GarbageCollectorMXBean e:list1){
        System.out.println(String.format("name=%s,count=%s,time=%s",e.getName(),e.getCollectionCount(),e.getCollectionTime()));
        }
    }
}

参考了文章原文

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值