首页 > 开发 > Java > 正文

在java代码中获取JVM参数的方法

2024-07-13 10:03:18
字体:
来源:转载
供稿:网友

实例如下:

MemoryMXBean memorymbean = ManagementFactory.getMemoryMXBean();    MemoryUsage usage = memorymbean.getHeapMemoryUsage();    System.out.println("INIT HEAP: " + usage.getInit());    System.out.println("MAX HEAP: " + usage.getMax());    System.out.println("USE HEAP: " + usage.getUsed());    System.out.println("/nFull Information:");    System.out.println("Heap Memory Usage: "    + memorymbean.getHeapMemoryUsage());    System.out.println("Non-Heap Memory Usage: "    + memorymbean.getNonHeapMemoryUsage());       List<String> inputArguments = ManagementFactory.getRuntimeMXBean().getInputArguments();    System.out.println("===================java options=============== ");   System.out.println(inputArguments);          System.out.println("=======================通过java来获取相关系统状态============================ ");   int i = (int)Runtime.getRuntime().totalMemory()/1024;//Java 虚拟机中的内存总量,以字节为单位   System.out.println("总的内存量 i is "+i);   int j = (int)Runtime.getRuntime().freeMemory()/1024;//Java 虚拟机中的空闲内存量   System.out.println("空闲内存量 j is "+j);   System.out.println("最大内存量 is "+Runtime.getRuntime().maxMemory()/1024);    System.out.println("=======================OperatingSystemMXBean============================ ");   OperatingSystemMXBean osm = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); //  System.out.println(osm.getFreeSwapSpaceSize()/1024); //  System.out.println(osm.getFreePhysicalMemorySize()/1024); //  System.out.println(osm.getTotalPhysicalMemorySize()/1024);      //获取操作系统相关信息   System.out.println("osm.getArch() "+osm.getArch());   System.out.println("osm.getAvailableProcessors() "+osm.getAvailableProcessors());   //System.out.println("osm.getCommittedVirtualMemorySize() "+osm.getCommittedVirtualMemorySize());   System.out.println("osm.getName() "+osm.getName());   //System.out.println("osm.getProcessCpuTime() "+osm.getProcessCpuTime());   System.out.println("osm.getVersion() "+osm.getVersion());   //获取整个虚拟机内存使用情况   System.out.println("=======================MemoryMXBean============================ ");   MemoryMXBean mm=(MemoryMXBean)ManagementFactory.getMemoryMXBean();   System.out.println("getHeapMemoryUsage "+mm.getHeapMemoryUsage());   System.out.println("getNonHeapMemoryUsage "+mm.getNonHeapMemoryUsage());   //获取各个线程的各种状态,CPU 占用情况,以及整个系统中的线程状况   System.out.println("=======================ThreadMXBean============================ ");   ThreadMXBean tm=(ThreadMXBean)ManagementFactory.getThreadMXBean();   System.out.println("getThreadCount "+tm.getThreadCount());   System.out.println("getPeakThreadCount "+tm.getPeakThreadCount());   System.out.println("getCurrentThreadCpuTime "+tm.getCurrentThreadCpuTime());   System.out.println("getDaemonThreadCount "+tm.getDaemonThreadCount());   System.out.println("getCurrentThreadUserTime "+tm.getCurrentThreadUserTime());      //当前编译器情况   System.out.println("=======================CompilationMXBean============================ ");   CompilationMXBean gm=(CompilationMXBean)ManagementFactory.getCompilationMXBean();   System.out.println("getName "+gm.getName());   System.out.println("getTotalCompilationTime "+gm.getTotalCompilationTime());      //获取多个内存池的使用情况   System.out.println("=======================MemoryPoolMXBean============================ ");   List<MemoryPoolMXBean> mpmList=ManagementFactory.getMemoryPoolMXBeans();   for(MemoryPoolMXBean mpm:mpmList){     System.out.println("getUsage "+mpm.getUsage());     System.out.println("getMemoryManagerNames "+mpm.getMemoryManagerNames().toString());   }   //获取GC的次数以及花费时间之类的信息   System.out.println("=======================MemoryPoolMXBean============================ ");   List<GarbageCollectorMXBean> gcmList=ManagementFactory.getGarbageCollectorMXBeans();   for(GarbageCollectorMXBean gcm:gcmList){     System.out.println("getName "+gcm.getName());     System.out.println("getMemoryPoolNames "+gcm.getMemoryPoolNames());   }   //获取运行时信息   System.out.println("=======================RuntimeMXBean============================ ");   RuntimeMXBean rmb=(RuntimeMXBean)ManagementFactory.getRuntimeMXBean();   System.out.println("getClassPath "+rmb.getClassPath());   System.out.println("getLibraryPath "+rmb.getLibraryPath());   System.out.println("getVmVersion "+rmb.getVmVersion()); 

以上这篇在java代码中获取JVM参数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表