当前位置: 移动技术网 > IT编程>开发语言>Java > 在java代码中获取JVM参数的方法

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

2019年07月22日  | 移动技术网IT编程  | 我要评论

实例如下:

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参数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网