Java程序系统监控问题实现及问题解决

一、Java系统监控实现

1. hutool的系统监控工具类:SystemUtil
  • 官网:https://hutool.cn/docs/ (详情可以去官网看)
    1. Java Virtual Machine Specification信息
SystemUtil.getJvmSpecInfo();
    1. Java Virtual Machine Implementation信息
SystemUtil.getJvmInfo();
    1. Java Specification信息
SystemUtil.getJavaSpecInfo();
    1. Java Implementation信息
SystemUtil.getJavaInfo();
    1. Java运行时信息
SystemUtil.getJavaRuntimeInfo();
    1. 系统信息
SystemUtil.getOsInfo();
  • 7.用户信息
SystemUtil.getUserInfo();
    1. 当前主机网络地址信息
SystemUtil.getHostInfo();
    1. 运行时信息,包括内存总大小、已用大小、可用大小等
SystemUtil.getRuntimeInfo();
2. Oshi 封装工具类
  • 使用过程:引入Oshi 库
<!--获取cpu信息工具包,需要三个包配合使用,并且依赖引入要放在最开始,否则会报错-->
<dependency>
    <groupId>com.github.oshi</groupId>
    <artifactId>oshi-core</artifactId>
    <version>5.6.1</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>5.5.0</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>5.5.0</version>
</dependency>

  • 然后可以调用相关API获取相关信息。

例如我们像获取CPU信息:

CpuInfo cpuInfo = OshiUtil.getCpuInfo();

二、可能出现的问题

1. NoClassDefFoundError: com/sun/jna/platform/win32/VersionHelpers问题
  • 提示找不到jna
  • 解决方法就是添加jna包,文前边已经给出。
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna</artifactId>
    <version>5.5.0</version>
</dependency>
<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>5.5.0</version>
</dependency>
2. java.lang.AbstractMethodError: com.sun.jna.Structure.getFieldOrder()Ljava/util/List
  • 解决方法,把依赖放到最上边,最先引入,则不报错。

猜你喜欢

转载自blog.csdn.net/qq_42102911/article/details/127861384
今日推荐