Windows系统CPU和内存状态实时查询(Java)
一、背景
需要查询Windows服务器的CPU和内存状态。
Linux系统查询CPU和内存状态很简单,一个top命令搞定,Windows就稍微麻烦一些了。
经过资料查找,发现jdk目前不能直接查询系统的CPU和内存状态。
进一步查找,发现可以使用第三方库sigar。
二、sigar库下载
1. github上开放源码库(但是没有编译后的dll文件,需要自己通过VS编译)
2. 直接下载编译后的dll文件,推荐一个好用的地址:
http://api.256file.com/ //一个纯净的下载dll库文件的地方。
三、sigar库的安装
将sigar-amd64-winnt.dll拷贝到C:\Windows\System32路径下。
四、Java库的下载
<!-- https://mvnrepository.com/artifact/org.hyperic/sigar -->
<dependency>
<groupId>org.hyperic</groupId>
<artifactId>sigar</artifactId>
<version>1.6.</version>
</dependency>
五、使用的示例
Sigar sigar = new Sigar();
sigar.getCpuPerc().getCombined();//获取总的CPU利用率
Mem mem = sigar.getMem();
Long memTotal = mem.getTotal();
Long memUsed = mem.getUsed();
Long memFree = mem.getFree();
Windows系统CPU和内存状态实时查询(Java)的更多相关文章
- C/C++获取Windows系统CPU和内存及硬盘使用情况
//1.获取Windows系统内存使用率 //windows 内存 使用率 DWORD getWin_MemUsage(){ MEMORYSTATUS ms; ::GlobalMemoryStatus ...
- Windows系统CPU内存网络性能统计第一篇 内存
最近翻出以前做过的Windows系统性能统计程序,这个程序可以统计系统中的CPU使用情况,内存使用情况以及网络流量.现在将其整理一下(共有三篇),希望对大家有所帮助. 目录如下: 1.<Wind ...
- C/C++获取Linux系统CPU和内存及硬盘使用情况
需求分析: 不使用Top df free 等命令,利用C/C++获取Linux系统CPU和内存及硬盘使用情况 实现: //通过获取/proc/stat (CPU)和/proc/meminfo(内存 ...
- Java如何获取系统cpu、内存、硬盘信息
1 概述 前段时间摸索在Java中怎么获取系统信息包括cpu.内存.硬盘信息等,刚开始使用Java自带的包进行获取,但这样获取的内存信息不够准确并且容易出现找不到相应包等错误,所以后面使用sigar插 ...
- Java获取Linux和Window系统CPU、内存和磁盘总使用率的情况
这是一个工具类,获取的内容: CPU使用率:得到的是当前CPU的使用情况,这是算出的是两次500毫秒时间差的CPU使用率 内存使用率:[1 - 剩余的物理内存/(总的物理内存+虚拟内存) ] * 1 ...
- 查看linux系统CPU和内存命令
cat /proc/cpuinfo查看linux系统的CPU型号.类型以及大小,如下图所示. 通过greap命令根据Physical Processor ID筛选出多核CPU的信息. cat ...
- linux系统cpu和内存占用率
1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或 ...
- 查看linux系统CPU及内存配置
总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep & ...
- linux检查系统CPU,内存,磁盘使用率
#!/bin/bash CPU=`top -bn 1 -i -c | sed -n '3p' | awk -F ':' '{print$2}' | awk '{print$1}'` MEM=`free ...
随机推荐
- python中 "is"和"=="的区别
python中"is"和"=="区别 在做leetcode的时候,在判断两个数据是否相等时使用了python中的is not,想着入乡随俗,既然入了python ...
- GCC 编译流程简介
GCC-GCC编译流程 序言 对于大多数程序员而言,大家都知道gcc是什么,但是如果不接触到linux平台下的开发,鲜有人真正了解gcc的编译流程,因为windows+IDE的开发模式简直是一条龙全套 ...
- 利用webhook实现发送通知到Slack
概要 最近办公交流应用 Slack在各团队里大行其道,非常火热. 今天我们就来说说怎么用他的incoming-webhook来做一些同步通知. 从kintone发送通知给Slack 我们先来看看这种i ...
- discuz论坛门户资讯入库接口【原创】
最近想打造一个社区门户站点,所以写了这个入库接口,可以对接数据入库. <?php /* * Discuz x3.2 门户免登陆发布接口 * 2018-08-10 * Copyright 68xi ...
- docker 进程 转载:https://www.cnblogs.com/ilinuxer/p/6188303.html
今天我们会分析Docker中进程管理的一些细节,并介绍一些常见问题的解决方法和注意事项. 容器的PID namespace(名空间) 在Docker中,进程管理的基础就是Linux内核中的PID名空间 ...
- 单片机开发之C语言编程基本规范
为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范.本标准规定了程序设计人员进行程序设计时必须遵循的规范.本规范主要针对单片机编程语言和08编译器而言,包括排版.注释.命名.变量 ...
- win10 安装python模块objgraph+PyCharm环境配置
1. 打开win10的命令行窗口 2.在命令行中输入python -m pip install objgraph,系统会自动帮忙安装 3.安装完成后,可以用命令python -m pip list查看 ...
- Monitor 实现阻塞队列 + 生产消费者实例
转载至 https://www.codeproject.com/Articles/28785/Thread-synchronization-Wait-and-Pulse-demystified /* ...
- hello world 程序的生成过程
一个c / c ++文件需要经过预先(预处理),编译(编译),编译(汇编)和链接(链接)等四步,才能生成可执行程序. 在日常编译中,通常“编译”统称这四步: gcc -c xxx .s:汇编 gcc ...
- python -- 连接 orclae cx_Oracle的使用
# 如果报错参考的资料 https://blog.csdn.net/white_xuqin/article/details/82878860 场景再现: python-cx_oracle报错" ...