每日热议!使用sigar获取本机 服务器、系统、CPU、JVM、内存信息
事业是栏杆,我们扶着它在深渊的边沿上走路。——高尔基《阿尔塔莫诺夫家的事业》
周六在家闲来无事学习了一下利用Sigar
获取本机服务器、系统
、CPU
、JVM
、内存
等信息
Sigar
是Hyperic-hq
产品的基础包,是Hyperic HQ
主要的数据收集组件。它用来从许多平台收集系统和处理信息
(相关资料图)
Sigar
有C
,C#
,Java
和Perl API
,java
版的API为sigar.jar sigar.jar的底层是用C语言编写的,它通过本地方法来调用操作系统API来获取系统相关数据。
注意:Sigar为不同平台提供了不同的库文件.典型的:
windows平台:sigar-x86-winnt.dll
linux平台:libsigar-x86-linux.so或
solaris平台: libsigar-x86-solaris.so或libsigar-sparc-solaris.so或libsigar-sparc64-solaris.so
64位平台:分为至强的libsigar-ia64-linux.so和AMD的libsigar-amd64-linux.so,sigar-amd64-winnt.dll
Sigar:文件下载
首先导入sigar
依赖
org.fusesource sigar 1.6.4
package space.land.util;import lombok.SneakyThrows;import org.hyperic.sigar.*;import org.springframework.stereotype.Component;import space.land.model.vo.server.ServerInfos;import java.net.InetAddress;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Properties;/** * Title: 获取本机 服务器、系统、CPU、JVM、内存信息。 * * @author Fking * @version 1.0.0 * @since 2022/1/5 18:53 */@Componentpublic class ServerUtil { @SneakyThrows public static ServerInfos getServerInfo() { //服务器信息 Properties properties = System.getProperties(); Map getenv = System.getenv(); InetAddress localHost = InetAddress.getLocalHost(); ServerInfos.ServerInfo serverInfo = ServerInfos.ServerInfo.builder().userName(getenv.get("USERNAME")).computerName(getenv.get("COMPUTERNAME")).computerDomain(getenv.get("USERDOMAIN")).serverIp(localHost.getHostAddress()).hostName(localHost.getHostName()).userHome(properties.getProperty("user.home")).userDir(properties.getProperty("user.dir")).build(); //系统信息 OperatingSystem instance = OperatingSystem.getInstance(); ServerInfos.SystemInfo systemInfo = ServerInfos.SystemInfo.builder().vendorName(instance.getVendorName()).arch(instance.getArch()).description(instance.getDescription()).version(instance.getVersion()).build(); //CPU信息 Sigar sigar = new Sigar(); List cpuInfoList = new ArrayList<>(); CpuInfo[] infoList = sigar.getCpuInfoList(); CpuPerc[] cpuList = sigar.getCpuPercList(); for (int i = 0; i < infoList.length; i++) { CpuInfo cpuInfo = infoList[i]; CpuPerc cpu = cpuList[i]; cpuInfoList.add(ServerInfos.CpuInfo.builder().mhz(cpuInfo.getMhz()).vendor(cpuInfo.getVendor()).cacheSize(cpuInfo.getCacheSize()).freqUser(cpu.getUser()).freqSys(cpu.getSys()).freqWait(cpu.getWait()).freqNice(cpu.getNice()).freqIdle(cpu.getIdle()).freqCombined(cpu.getCombined()).build()); } //JVM信息 Runtime runtime = Runtime.getRuntime(); ServerInfos.JvmInfo jvmInfo = ServerInfos.JvmInfo.builder().totalMemory(runtime.totalMemory()).freeMemory(runtime.freeMemory()).availableProcessors(runtime.availableProcessors()).version(properties.getProperty("version")).vendor(properties.getProperty("java.vendor")).home(properties.getProperty("java.home")).specificationVersion(properties.getProperty("java.specification.version")).classPath(properties.getProperty("java.class.path")).libraryPath(properties.getProperty("java.library.path")).tmpdir(properties.getProperty("java.io.tmpdir")).dirs(properties.getProperty("java.ext.dirs")).build(); //内存信息 Mem mem = sigar.getMem(); Swap swap = sigar.getSwap(); ServerInfos.MemoryInfo memoryInfo = ServerInfos.MemoryInfo.builder().memoryTotal(mem.getTotal() / (1024 * 1024L)).memoryUsed(mem.getUsed() / (1024 * 1024L)).memoryFree(mem.getFree() / (1024 * 1024L)).swapTotal(swap.getTotal() / (1024 * 1024L)).swapUsed(swap.getUsed() / (1024 * 1024L)).swapFree(swap.getFree() / (1024 * 1024L)).build(); return ServerInfos.builder().serverInfo(serverInfo).systemInfo(systemInfo).cpuInfo(cpuInfoList).jvmInfo(jvmInfo).memoryInfo(memoryInfo).build(); }}~~~~~~javapackage space.land.model.vo.server;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import lombok.experimental.Accessors;import java.util.List;/** * Title: 服务器、系统、CPU、JVM、内存信息。 * * @author Fking * @version 1.0.0 * @since 2022/1/7 14:53 */@NoArgsConstructor@AllArgsConstructor@Data@Builder@Accessors(chain = true)public class ServerInfos { private ServerInfo serverInfo; private SystemInfo systemInfo; private List cpuInfo; private JvmInfo jvmInfo; private MemoryInfo memoryInfo; /** * Title: 服务器信息 * * @author Fking * @since 2022/1/7 */ @NoArgsConstructor @AllArgsConstructor @Data @Builder @Accessors(chain = true) public static class ServerInfo { //用户名 private String userName; //计算机名 private String computerName; //计算机域名 private String computerDomain; //本机ip private String serverIp; //本机主机名 private String hostName; //用户的主目录 private String userHome; //用户的当前工作目录 private String userDir; } /** * Title: 系统信息 * * @author Fking * @since 2022/1/7 */ @NoArgsConstructor @AllArgsConstructor @Data @Builder @Accessors(chain = true) public static class SystemInfo { //操作系统名称 private String vendorName; //内核构架 private String arch; //操作系统的描述 private String description; //操作系统的版本号 private String version; } /** * Title: CPU信息 * * @author Fking * @since 2022/1/7 */ @NoArgsConstructor @AllArgsConstructor @Data @Builder @Accessors(chain = true) public static class CpuInfo { //CPU的总量MHz private int mhz; //CPU的厂商 private String vendor; //CPU型号类别 private String model; //缓冲缓存数量 private long cacheSize; //CPU的用户使用率 private double freqUser; //CPU的系统使用率 private double freqSys; //CPU的当前等待率 private double freqWait; //CPU的当前错误率 private double freqNice; //CPU的当前空闲率 private double freqIdle; //CPU总的使用率 private double freqCombined; } /** * Title: JVM信息 * * @author Fking * @since 2022/1/7 */ @NoArgsConstructor @AllArgsConstructor @Data @Builder @Accessors(chain = true) public static class JvmInfo { //JVM可以使用的总内存 private long totalMemory; //JVM可以使用的剩余内存 private long freeMemory; //JVM可以使用的处理器个数 private int availableProcessors; //Java的运行环境版本 private String version; //Java的运行环境供应商 private String vendor; //Java的安装路径 private String home; //Java运行时环境规范版本 private String specificationVersion; //Java的类路径 private String classPath; //Java加载库时搜索的路径列表 private String libraryPath; //默认的临时文件路径 private String tmpdir; //扩展目录的路径 private String dirs; } /** * Title: 内存信息 * * @author Fking * @since 2022/1/7 */ @NoArgsConstructor @AllArgsConstructor @Data @Builder @Accessors(chain = true) public static class MemoryInfo { //内存总量 private long memoryTotal; //当前内存使用量 private long memoryUsed; //当前内存剩余量 private long memoryFree; //交换区总量 private long swapTotal; //当前交换区使用量 private long swapUsed; //当前交换区剩余量 private long swapFree; }}
过程问题记录:
因为我电脑上java版本有很多个,1.8/11/17 放文件的时候放错了版本就出现了错误1:
org.hyperic.sigar.SigarException: no sigar-amd64-winnt.dll in java.library
提示我没有找到该文件进行监控。
这个时候咱们打印System.out.println(System.getProperties().getProperty("java.library.path"));
看看咱们的jdk装到了哪里,然后把文件放到对应的bin目录下面根据不同的系统对应放上。
这个问题就解决了,随之迎来了第二个问题,就是对应上之后当我在执行的时候又出现了另一个问题
错误2:
这个问题是在Windows下Java 版本中 1.8.0_131
到 1.8.0_241
都适合, 在 jdk1.8.0_261 包括在内以及以上不适合
Windows下降低版本然后重新导入就可以了。至于Liunx下我还没有测试
-
2022-09-15 14:23:06
杨莉娜租借加盟巴黎圣日耳曼 与姆巴佩梅西拉莫斯一起共事<
北京时间9月13日下午,法甲女足俱乐部巴黎圣日耳曼正式官宣中国女足国脚杨莉娜完成租借加盟,合同期至2023年6月。杨莉娜成为目前国家队中第
-
2022-02-07 14:57:45
奇迹!绝杀!女足亚洲杯逆转夺冠!<
刚刚,中国女足上演逆转绝杀奇迹!她们在亚洲杯决赛中3:2力克韩国队,时隔16年再夺亚洲杯冠军!
-
2022-02-07 14:57:45
中国政府与阿根廷共和国政府签署共建“一带一路”谅解备忘录<
新华社北京2月6日电(记者安蓓)国家发展改革委6日称,国家发展改革委主任何立峰与阿根廷外交、国际贸易和宗教事
-
2022-02-07 14:57:43
中华人民共和国和阿根廷共和国关于深化中阿全面战略伙伴关系的联合声明(全文)<
新华社北京2月6日电中华人民共和国和阿根廷共和国关于深化中阿全面战略伙伴关系的联合声明一、应中方邀请,阿根廷
-
2022-02-07 14:57:40
春节假期国内旅游出游2.51亿人次<
春节遇冬奥,旅游年味浓。根据文化和旅游部数据中心测算,2022年春节假期7天,全国国内旅游出游2 51亿人次,同比
-
2023-02-24 06:06:46
每日热议!使用sigar获取本机 服务器、系统、CPU、JVM、内存信息
周六在家闲来无事学习了一下利用Sigar获取本机服务器、系统、CPU、JVM、内存等信息
-
2023-02-24 01:17:52
2月23日基金净值:易方达积极成长混合最新净值0.6865,跌0.15%
2月23日,易方达积极成长混合最新单位净值为0 6865元,累计净值为5 8786元,较前一交易日下跌0 15%。历史数据显示该基金近1个月下跌3 89%,近3
-
2023-02-23 22:01:52
【奋进的春天】强村富民描绘乡村振兴画卷
今年以来,九江市大力实施发展壮大村集体经济“三年倍增”行动,创新县级统筹、乡镇主导、村级联动发展模式,推动村集体经济发展步入快车道...
-
2023-02-23 18:46:02
戒烟最难熬的是那几天?
我从十几岁开始抽烟,至今烟龄三十多年了。平时没事一天一包,有应酬或其它人多的场合就要加量了,总的来说不算很多,所以也没打算戒掉它。今
-
2023-02-23 17:01:40
山东盛洋检测有限公司|今日热门
1、山东盛洋检测有限公司于2018年02月11日成立。2、法定代表人李册,公司经营范围包括:环境保护监测;土壤质量检
-
2023-02-23 14:56:51
李家超抵达广州展开访问!将推动人才流动科技金融多领域合作
2月23日,香港特区行政长官李家超率领特区政府代表团访问广州和深圳,展开上任后首次对粤港澳大湾区各城市的访问。南都记者注意到,李家超在个
-
2023-02-23 12:07:14
【世界时快讯】中无人机:公司经营状况良好
每经AI快讯,有投资者在投资者互动平台提问:据报道称,航天彩虹2023年在手订单接近翻倍,请问公司是否也一样,2023年订单明显增长?中无人机(
-
2023-02-23 10:29:18
环球热议:沪胶 空头优势增强
昨日,沪胶期货2305合约呈现放量增仓、略微收低的态势。盘中期价重心一度下探至12500元 吨一线下方运行,收盘略微收低0 56%,至12530元 吨。持
-
2023-02-23 09:12:08
台湾“四大三小天后”名副其实吗?大陆有哪些人能被称为“天后”? 当前关注
如下解答:娱乐圈一直是长江后浪推前浪,在乐坛四小天后强势出击的情况下,有一代人一直处于屹立不倒的位置,她们就是大陆四大天后:爱心大使毛
-
2023-02-23 08:39:43
红网数说丨A股回暖,湖南股民户均资产重回十万元|全球简讯
红网时刻新闻记者甘红张馨心图表徐丹张广蓉长沙报道春天来了,与天气一同转暖的还有A股。Wind数据显示,1月A股
-
2023-02-23 05:01:01
马洛塔:卢卡库有103公斤的体重 伤病让他在世界杯只能当配角
马洛塔:卢卡库有103公斤的体重伤病让他在世界杯只能当配角,欧战,马洛塔,卢卡库,世界杯,波尔图,国际米兰
-
2023-02-22 23:46:57
【环球新要闻】新能源SUV别乱买!最新质量榜公布:比亚迪唐第六,Model Y入榜!
导读:随着国内电气化不断推行,新能源汽车也在迅速崛起,而且涌现出很多知名车型,比如比亚迪唐、特斯拉ModelY、理想ONE、蔚来ES6、奔驰EQC和
-
2023-02-22 21:00:12
38岁郭晶晶罕见看秀!经典黑白配出众又显嫩,同框黄景瑜不显龄 全球速递
38岁郭晶晶在秀场同框27岁黄景瑜,堪称次元壁破裂!一个是仨娃妈妈一个是当红流量担当,两人的合体瞬间上热搜,大家都知道国人出国门就如:老
-
2023-02-22 18:19:52
QQ音乐热歌榜前十,看完以后,我想问:华语乐坛还有未来吗?
闲来无事看了看热搜,突然发现此前丁太升评价《乌梅子酱》的视频上了热搜。联想到最近的QQ音乐热歌榜前十,看完以后,我想问:华语乐坛还有未
-
2023-02-22 16:09:38
成都市人大代表熊欣:组建“AED急救”专业志愿者队伍
原标题:成都市人大代表熊欣:组建“AED急救”专业志愿者队伍(记者张宇摄影报道)在我国,心血管疾病患者已接近3亿,中
-
2023-02-22 14:53:58
德尔股份:公司已研发出加氢机样机,尚未量产-全球快播
同花顺金融研究中心2月22日讯,有投资者向德尔股份提问,公司氢气加注系统的关键零部件是否已量产,主要合作车企有哪些? 公司回答表示,您
-
2023-02-22 11:52:53
国家发展改革委等部门要求做好2023年春耕化肥保供稳价工作
化肥是农业生产的重要基础物资。国家发展改革委等部门近日印发通知,要求积极稳妥推动春耕化肥保供稳价工作高质量发展,切实保障国家粮食安全
-
2023-02-22 10:00:20
世界百事通!2月还没过完,2023年已诞生5部烂剧,每一部都烂得清新脱俗
2023年1月播出的《狂飙》《三体》两部大戏,无论是热度口碑都是无可比拟的,不光热度空前,而且都获得诸多好评。而在这样的背景下,也有许多粗
-
2023-02-22 08:09:23
立返利科技有限公司是真的吗_立返利|世界今热点
1、是真的,但是只要发展下线的,就有就属于传销性质。2、并且有诈骗嫌疑!。以上就是【立返利科技有限公司是真的吗,立返利】
-
2023-02-22 04:47:19
工艺规程编制规范国家标准_工艺规程-全球头条
1、主要内容产品特征,质量标准。2、2、原材料、辅助原料特征及用于生产应符合的质量标准。3、3、生产工艺流程。4、4、主
-
2023-02-22 00:11:44
IPO定价9.32元,猪饲料生产商,播恩集团申购解读
IPO定价9 32元,猪饲料生产商,播恩集团申购解读,新股,猪饲料,预混合,播恩集团,股票发行注册制
-
2023-02-21 20:55:12
office2013激活工具激活不了咋办 office 2010不能使用怎么办如何激活成功_2月24日最新整理发布
解答:1、打开[电脑]。2、选择安装办公软件的磁盘,在此选择[Ddisk]。3、选择[程序文件(x86)]。4、选择
-
2023-02-21 18:45:55
北京大学肿瘤医院保定医院项目开建,将减少40%跨区流动患者|当前热文
2月21日,北京大学肿瘤医院保定医院项目在保定开工建设。北京大学肿瘤医院保定医院由北京大学肿瘤医院与保定市第一中心医院合
-
2023-02-21 16:50:42
天天观点:蔡徐坤新EP《现象》24日上线 一展KUN式音乐多样魅力
2月20日,蔡徐坤特别企划EP《现象(PHENOMENON)》预告发布,预告呈现了蔡徐坤音乐一贯的高级质感,短短15秒的
-
2023-02-21 15:04:09
教育部公布!三校合并,成立师范大学! 焦点速讯
教育部公布!三校合并,成立师范大学!,分校,吕梁,二战,教育部,军事同盟,军事条约,重点大学,南京师范大学
-
2023-02-21 13:17:40
86版《西游记》副导演任凤坡逝世 享年83岁
86版《西游记》副导演任凤坡逝世享年83岁,京剧,菩萨,任凤坡,西游记,孙悟空,六小龄童
-
2023-02-21 11:17:39
世界头条:车费31元变3万元!的哥主动退还“打车费”
车费31元变3万元!的哥主动退还“打车费”,的哥,安师傅,打车费,驾驶员
-
2023-02-21 09:46:08
朗玛信息2月21日快速上涨
以下是朗玛信息在北京时间2月21日09:47分盘口异动快照:2月21日,朗玛信息盘中快速上涨,5分钟内涨幅超过2%,截至9点47分,报14 08元,成交1 7
-
2023-02-21 07:02:35
本菲卡3-1博阿维斯塔迎联赛5连胜,贡萨洛-拉莫斯推射建功
北京时间2月21日5:15,葡超第21轮,本菲卡主场对阵博阿维斯塔。上半场,拉法-席尔瓦小角度抽射打偏,格里马尔多任意球攻门打偏。下半场,吉尔
-
2023-02-21 02:55:50
玉如意_说一说玉如意的简介
夏弥来为大家解答以下的问题,玉如意,说一说玉如意的简介,现在让我们一起来看看吧!1、玉如意是旧时中国民间用以搔痒的工具,