在java代码中获取JVM参数

  1.     MemoryMXBean memorymbean = ManagementFactory.getMemoryMXBean();   
  2.     MemoryUsage usage = memorymbean.getHeapMemoryUsage();   
  3.     System.out.println("INIT HEAP: " + usage.getInit());   
  4.     System.out.println("MAX HEAP: " + usage.getMax());   
  5.     System.out.println("USE HEAP: " + usage.getUsed());   
  6.     System.out.println("\nFull Information:");   
  7.     System.out.println("Heap Memory Usage: "   
  8.     + memorymbean.getHeapMemoryUsage());   
  9.     System.out.println("Non-Heap Memory Usage: "   
  10.     + memorymbean.getNonHeapMemoryUsage());   
  11.       
  12.     List<String> inputArguments = ManagementFactory.getRuntimeMXBean().getInputArguments();   
  13.     System.out.println("===================java options=============== ");  
  14.     System.out.println(inputArguments);  
  15.   
  16.       
  17.       
  18.     System.out.println("=======================通过java来获取相关系统状态============================ ");  
  19.     int i = (int)Runtime.getRuntime().totalMemory()/1024;//Java 虚拟机中的内存总量,以字节为单位  
  20.     System.out.println("总的内存量 i is "+i);  
  21.     int j = (int)Runtime.getRuntime().freeMemory()/1024;//Java 虚拟机中的空闲内存量  
  22.     System.out.println("空闲内存量 j is "+j);  
  23.     System.out.println("最大内存量 is "+Runtime.getRuntime().maxMemory()/1024);  
  24.   
  25.     System.out.println("=======================OperatingSystemMXBean============================ ");  
  26.     OperatingSystemMXBean osm = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();  
  27. //    System.out.println(osm.getFreeSwapSpaceSize()/1024);  
  28. //    System.out.println(osm.getFreePhysicalMemorySize()/1024);  
  29. //    System.out.println(osm.getTotalPhysicalMemorySize()/1024);  
  30.       
  31.     //获取操作系统相关信息  
  32.     System.out.println("osm.getArch() "+osm.getArch());  
  33.     System.out.println("osm.getAvailableProcessors() "+osm.getAvailableProcessors());  
  34.     //System.out.println("osm.getCommittedVirtualMemorySize() "+osm.getCommittedVirtualMemorySize());  
  35.     System.out.println("osm.getName() "+osm.getName());  
  36.     //System.out.println("osm.getProcessCpuTime() "+osm.getProcessCpuTime());  
  37.     System.out.println("osm.getVersion() "+osm.getVersion());  
  38.     //获取整个虚拟机内存使用情况  
  39.     System.out.println("=======================MemoryMXBean============================ ");  
  40.     MemoryMXBean mm=(MemoryMXBean)ManagementFactory.getMemoryMXBean();  
  41.     System.out.println("getHeapMemoryUsage "+mm.getHeapMemoryUsage());  
  42.     System.out.println("getNonHeapMemoryUsage "+mm.getNonHeapMemoryUsage());  
  43.     //获取各个线程的各种状态,CPU 占用情况,以及整个系统中的线程状况  
  44.     System.out.println("=======================ThreadMXBean============================ ");  
  45.     ThreadMXBean tm=(ThreadMXBean)ManagementFactory.getThreadMXBean();  
  46.     System.out.println("getThreadCount "+tm.getThreadCount());  
  47.     System.out.println("getPeakThreadCount "+tm.getPeakThreadCount());  
  48.     System.out.println("getCurrentThreadCpuTime "+tm.getCurrentThreadCpuTime());  
  49.     System.out.println("getDaemonThreadCount "+tm.getDaemonThreadCount());  
  50.     System.out.println("getCurrentThreadUserTime "+tm.getCurrentThreadUserTime());  
  51.       
  52.     //当前编译器情况  
  53.     System.out.println("=======================CompilationMXBean============================ ");  
  54.     CompilationMXBean gm=(CompilationMXBean)ManagementFactory.getCompilationMXBean();  
  55.     System.out.println("getName "+gm.getName());  
  56.     System.out.println("getTotalCompilationTime "+gm.getTotalCompilationTime());  
  57.       
  58.     //获取多个内存池的使用情况  
  59.     System.out.println("=======================MemoryPoolMXBean============================ ");  
  60.     List<MemoryPoolMXBean> mpmList=ManagementFactory.getMemoryPoolMXBeans();  
  61.     for(MemoryPoolMXBean mpm:mpmList){  
  62.         System.out.println("getUsage "+mpm.getUsage());  
  63.         System.out.println("getMemoryManagerNames "+mpm.getMemoryManagerNames().toString());  
  64.     }  
  65.     //获取GC的次数以及花费时间之类的信息  
  66.     System.out.println("=======================MemoryPoolMXBean============================ ");  
  67.     List<GarbageCollectorMXBean> gcmList=ManagementFactory.getGarbageCollectorMXBeans();  
  68.     for(GarbageCollectorMXBean gcm:gcmList){  
  69.         System.out.println("getName "+gcm.getName());  
  70.         System.out.println("getMemoryPoolNames "+gcm.getMemoryPoolNames());  
  71.     }  
  72.     //获取运行时信息  
  73.     System.out.println("=======================RuntimeMXBean============================ ");  
  74.     RuntimeMXBean rmb=(RuntimeMXBean)ManagementFactory.getRuntimeMXBean();  
  75.     System.out.println("getClassPath "+rmb.getClassPath());  
  76.     System.out.println("getLibraryPath "+rmb.getLibraryPath());  
  77.     System.out.println("getVmVersion "+rmb.getVmVersion());  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值