实例如下:
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参数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
更多在java代码中获取jvm参数的方法。