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

2025-05-29 0 34

实例如下:

?

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 在java代码中获取JVM参数的方法 https://www.kuaiidc.com/119529.html

相关文章

发表评论
暂无评论