通过HuTool工具类和oshi查询cpu使用率、内存大小、磁盘空间等
Hutool 是一个小而全的Java工具类库,一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类。
Oshi是Java的免费基于JNA的操作系统和硬件信息库,Github地址是:https://github.com/oshi/oshi
它的优点是不需要安装任何其他本机库,并且旨在提供一种跨平台的实现来检索系统信息,例如操作系统版本,进程,内存和CPU使用率,磁盘和分区,设备,传感器等。
- 在项目的pom.xml的dependencies中加入以下内容:
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.8</version>
</dependency>
- 引入Oshi库,Oshi是Java的免费基于JNA的操作系统和硬件信息库
<dependency><groupId>com.github.oshi</groupId><artifactId>oshi-core</artifactId><version>5.6.1</version>
</dependency>
下面是代码,就会很简单了
public class Test {public static void main(String[] args) {//获取cpu利用率getOsInfo();//获取内存数据getMemoryInfo();//获取硬盘使用量getDiskUsed();}/*** 获取cpu利用率*/public static void getOsInfo(){CpuInfo cpuInfo = OshiUtil.getCpuInfo();double free = cpuInfo.getFree();DecimalFormat format = new DecimalFormat("#.00");System.out.println("cpu利用率:" + Double.parseDouble(format.format(100.0D - free)));}/*** 获取内存数据*/public static void getMemoryInfo(){System.out.println("内存总量:" + OshiUtil.getMemory().getTotal()/1024/1024);System.out.println("已用内存:" + OshiUtil.getMemory().getAvailable()/1024/1024);}/*** 获取硬盘使用量*/public static void getDiskUsed(){File win = new File("/");if (win.exists()) {long total = win.getTotalSpace();long freeSpace = win.getFreeSpace();System.out.println("磁盘总量:" + total/1024/1024/1024);System.out.println("磁盘剩余总量:" + freeSpace/1024/1024/1024);System.out.println("磁盘已用总量:" + (total - freeSpace)/1024/1024/1024);}}
}
输出结果如下:
cpu利用率:9.58
内存总量:15790
已用内存:6154
磁盘总量:375
磁盘剩余总量:95
磁盘已用总量:280
这个库可以监测的内容包括:
- 计算机系统和固件,底板
- 操作系统和版本/内部版本
- 物理(核心)和逻辑(超线程)CPU,处理器组,NUMA节点
- 系统和每个处理器的负载百分比和滴答计数器
- CPU正常运行时间,进程和线程
- 进程正常运行时间,CPU,内存使用率,用户/组,命令行
- 已使用/可用的物理和虚拟内存
- 挂载的文件系统(类型,可用空间和总空间)
- 磁盘驱动器(型号,序列号,大小)和分区
- 网络接口(IP,带宽输入/输出)
- 电池状态(电量百分比,剩余时间,电量使用情况统计信息)
- 连接的显示器(带有EDID信息)
- USB设备
- 传感器(温度,风扇速度,电压)
没错!也就是说配合一个前端界面,完全可以搞定系统监控了。
通过HuTool工具类和oshi查询cpu使用率、内存大小、磁盘空间等相关推荐
- CentOS 7 查询CPU、内存、磁盘的使用情况
本篇介绍记录一下CentOS 7 查询CPU型号.CPU核心.CPU详情.内存占用.磁盘使用情况 查看CPU型号 dmidecode -s processor-version (base) [root ...
- Linux服务器CPU、内存、磁盘空间、负载情况查看python脚本
[本文出自天外归云的博客园] 网上搜,东拼西凑,组装了一个可以查Linux服务器CPU使用率.内存使用率.磁盘空间占用率.负载情况的python脚本. 脚本内容如下: # -*- coding:utf ...
- Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
1 查看CPU 1.1 查看CPU个数*核心数 cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 96 #一共96核 2 ...
- Linux命令-查看CPU型号,内存大小,硬盘空间
1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 4 **uniq命令:删除重 ...
- 数据对接利用hutool工具类进行xml解析,xml转换成map,然后进行数据入库
数据对接xml解析 <ESBEntry><!--通过MB对请求进行权限验证,验证后将删除AccessControl节点 --><AccessControl>< ...
- 利用hutool工具类导出Excel
简单介绍 可以使用hutool工具类,简单的生成Excel.本质上还是使用的POI组件,只是对其进行了封装,避免开发人员重复造轮子 hutool工具类链接 maven导入 <!-- hutool ...
- 使用hutool工具类,计算日期差
需求: 参数: 计划日期,实际日期 返回: 超时or提前,天数 hutool工具类 <dependency><groupId>cn.hutool</groupId> ...
- java基于HuTool工具类ExcelWriter合并单元格
** java基于HuTool工具类ExcelWriter合并单元格 ** 1.基于HuTool工具类ExcelWriter合并单元格并且使用 jdk1.8 lambda表达式 效果如下: 用姓名和编 ...
- 用hutool工具类导出excel
工作上有一个导出数据的需求,发现用hutool工具类可以非常简洁快捷的生成excel导出. 前期准备 引入hutool的依赖: <dependency><groupId>cn. ...
最新文章
- android HTTP发送及MD5加密收集
- 学python需要什么基础知识-Python学习(一)基础知识
- 从LXMERT到VLMO:多模态预训练模型的演变史
- oracle排序使用,很多中函数,不同的效果
- QT开发(十)——QT输入组件
- Java EE,Gradle和集成测试
- Python基于用户协同过滤算法的电影推荐代码demo
- 苹果华人工程师被捕后续,按“商业间谍”指控,本人不认罪
- 【一分钟论文】轻松解读Semi-supervised Sequence Learning半监督序列学习
- gin -get请求的小示例2-Handle处理post请求
- flash倒计时制作
- np.sum和np.add.reduce
- 《国际学术论文写作与发表》课后题
- @Resource报错
- Python全年天数查询源代码
- (PTA)数据结构(作业)6、队列
- 如何剪辑视频,视频画中画制作教程分享
- 沃尔玛中国前CEO陈文渊将出任百事亚太区CEO;山姆再次下调近百种畅销单品价格 | 美通企业日报...
- 7、【STM32】独立看门狗和窗口看门狗(IWDG、WWDG)实验
- 详解GCC的下载和安装
热门文章
- 网络接入技术及其特点
- ipvsadm 命令
- Hydra(暴力破解工具)参数
- element-ui 的confirm用法
- CSS/CSS3语法新特性笔记
- cadence画原理图的时候,元件PIN上出现黄色感叹号Object move not completed as this resulted in connectivity changes
- 黑苹果MacOS Big Sur 11-10.16正式发布,支持Intel和AMD处理器,Clover OpenCore两大引导,系统高速下载!
- MFC使摄像头录像在picture中显示时常出现崩溃问题
- 第十届蓝桥杯国赛java_2019年第十届蓝桥杯国赛总结(JavaA组)
- 武汉东方y神话服饰有限公司