在java代码中获取JVM参数的方法
实例如下:
MemoryMXBeanmemorymbean=ManagementFactory.getMemoryMXBean(); MemoryUsageusage=memorymbean.getHeapMemoryUsage(); System.out.println("INITHEAP:"+usage.getInit()); System.out.println("MAXHEAP:"+usage.getMax()); System.out.println("USEHEAP:"+usage.getUsed()); System.out.println("\nFullInformation:"); System.out.println("HeapMemoryUsage:" +memorymbean.getHeapMemoryUsage()); System.out.println("Non-HeapMemoryUsage:" +memorymbean.getNonHeapMemoryUsage()); List<String>inputArguments=ManagementFactory.getRuntimeMXBean().getInputArguments(); System.out.println("===================javaoptions==============="); System.out.println(inputArguments); System.out.println("=======================通过java来获取相关系统状态============================"); inti=(int)Runtime.getRuntime().totalMemory()/1024;//Java虚拟机中的内存总量,以字节为单位 System.out.println("总的内存量iis"+i); intj=(int)Runtime.getRuntime().freeMemory()/1024;//Java虚拟机中的空闲内存量 System.out.println("空闲内存量jis"+j); System.out.println("最大内存量is"+Runtime.getRuntime().maxMemory()/1024); System.out.println("=======================OperatingSystemMXBean============================"); OperatingSystemMXBeanosm=(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============================"); MemoryMXBeanmm=(MemoryMXBean)ManagementFactory.getMemoryMXBean(); System.out.println("getHeapMemoryUsage"+mm.getHeapMemoryUsage()); System.out.println("getNonHeapMemoryUsage"+mm.getNonHeapMemoryUsage()); //获取各个线程的各种状态,CPU占用情况,以及整个系统中的线程状况 System.out.println("=======================ThreadMXBean============================"); ThreadMXBeantm=(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============================"); CompilationMXBeangm=(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(MemoryPoolMXBeanmpm: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(GarbageCollectorMXBeangcm:gcmList){ System.out.println("getName"+gcm.getName()); System.out.println("getMemoryPoolNames"+gcm.getMemoryPoolNames()); } //获取运行时信息 System.out.println("=======================RuntimeMXBean============================"); RuntimeMXBeanrmb=(RuntimeMXBean)ManagementFactory.getRuntimeMXBean(); System.out.println("getClassPath"+rmb.getClassPath()); System.out.println("getLibraryPath"+rmb.getLibraryPath()); System.out.println("getVmVersion"+rmb.getVmVersion());
以上这篇在java代码中获取JVM参数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。