实例如下:
java" id="highlighter_862035">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
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参数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。