ManagementFactory-JAVA获取系统相关的信息
package jvmpackage;
import javax.management.MBeanServer;
import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryUsage;
import java.lang.management.ThreadInfo;
import java.util.List;
public class Test1 {
public static void main( String[] args ) {
testManagementFactory();
}
private static void testManagementFactory() {
// 1获取JVM输入参数
List<String> list=ManagementFactory.getRuntimeMXBean().getInputArguments();
System.out.println(list);
// 2.获取当前JVM进程的PID
String name = ManagementFactory.getRuntimeMXBean().getName();
String pid = name.split("@")[0];
System.out.println("name: "+ name);
System.out.println("pid: "+ pid);
// 3.获取当前系统的负载
double load = ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage();
System.out.println("load: "+ load);
// 4.获取内存相关的
MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();//堆内存
System.out.println("max memory: "+ mu.getMax());
System.out.println("memory use: "+ mu.getUsed());
ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage();//堆外内存
// 5.获取堆栈信息相当于jstack
ThreadInfo[] infos = ManagementFactory.getThreadMXBean().dumpAllThreads(false, false);
System.out.println("------jstack信息-----");
for (ThreadInfo info :infos){
System.out.println(info);
}
System.out.println("------jstack信息--end---");
// 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()));
}
}
}
Reference
https://blog..net/lsm135/article/details/78818128
