今日热文:使用sigar获取本机 服务器、系统、CPU、JVM、内存信息

2023-02-24 07:10:34 来源: 腾讯云

事业是栏杆,我们扶着它在深渊的边沿上走路。——高尔基《阿尔塔莫诺夫家的事业》

周六在家闲来无事学习了一下利用Sigar获取本机服务器、系统CPUJVM内存等信息

SigarHyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件。它用来从许多平台收集系统和处理信息


(资料图)

SigarCC#JavaPerl APIjava版的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_1311.8.0_241都适合, 在 jdk1.8.0_261 包括在内以及以上不适合

Windows下降低版本然后重新导入就可以了。至于Liunx下我还没有测试

标签: Linux Solaris Java Windows

上一篇 :

下一篇 :

今日热文:使用sigar获取本机 服务器、系统、CPU、JVM、内存信息

周六在家闲来无事学习了一下利用Sigar获取本机服务器、系统、CPU、JVM、内存等信息

02-24 07:10:34

每日播报!子在川上曰是什么意思_子在川上曰

1、孔子站在河岸上说。本文到此分享完毕,希望对大家有所帮助。

02-24 02:57:49

焦点观察:中富通:后续将积极开展信创软件产品研发和适配技术

中富通在最新披露的投资者关系活动记录表中表示,公司核心子公司天创信息系全国人口信息化龙头企业,全...

02-23 22:30:16

欠工程款找不到债务人还有什么办法-全球即时看

可以起诉处理。1 原告可以向法院提交诉状申请立案。2 经法院公告后仍然无法联系的,公告期届满仍不到...

02-23 19:58:32

焦点报道:青海产手机远销海外

青海产手机远销海外

02-23 17:20:50

分光光度计的使用_分光光度计的使用方法|焦点精选

欢迎观看本篇文章,小升来为大家解答以上问题。分光光度计的使用,分光光度计的使用方法很多人还不知道...

02-23 15:04:23

香港中小学面授课堂全面恢复,文锦渡边检保障跨境学童快速通关_天天快讯

“警察阿姨,你看我是不是长高了不少?”2月22日上午7时许,在文锦渡出入境边防检查站民警的高效查验下...

02-23 13:16:41

动态焦点:梦幻西游套装属性表,梦幻西游套装属性加成表是什么

本文目录一览1,梦幻西游魔力套属性表是什么2,梦幻西游套装属性加成表是什么3,梦幻西游动物套属性表是...

02-23 12:32:49

一周扭转广告业务无果:马斯克再裁数十名Twitter员工 天天看点

在马斯克接管Twitter后,与之相关的新闻中,最常见的莫过于马斯克解雇了XX名Twitter员工”的消息。近日...

02-23 11:01:46

写意中国 探寻汉字起源丨历史与未来“一键”链接 甲骨文研究步入“云时代”|天天热头条

刘永革向记者介绍实验室相关情况。人民网霍亚平摄人民网安阳2月22日电(霍亚平)2月19日,在河南安阳师...

02-23 08:56:51

长妈妈出现几次_长妈妈

1、是鲁迅小时候家里请来的女佣人,也带过他,所以感情很深厚 阿长是一个很不幸而又热望一生平安的劳动妇...

02-23 06:42:19

世界今头条!02月23日00时四川广元疫情数据 阳了以后为什么会腰疼?应该怎么办?

02月23日00时四川广元疫情数据阳了以后为什么会腰疼?应该怎么办?以下为详情!一、02月23日00时广元疫...

02-23 01:08:34

锦心似玉原著小说讲的是什么_锦心似玉原著小说

1、《锦心似玉》的原著不是穿越小说。2、是吱吱写的《庶女攻略》。以上就是【锦心似玉原著小说讲的是什...

02-22 21:13:15

02月22日从迪庆出发到平顶山的防疫政策 每日资讯

02月22日从迪庆出发到平顶山的防疫政策(数据来源:本地宝)1、出迪庆-:正常通行2、到平顶山-:【最新消...

02-22 18:50:01

杭州拟发放育儿补助,二孩家庭5000元、三孩家庭20000元

杭州拟发放育儿补助,二孩家庭5000元、三孩家庭20000元2月22日下午,杭州市十四届人大三次会议第三次全...

02-22 16:55:05

壹点送岗|重点企业用工专场网络招聘会(第2场)

记者赵清华实习生李志方通讯员李霖记者从济南市人社局获悉,由济南市人力资源和社会保障局主办,济南市...

02-22 14:54:40

天天消息!人老了,退休了,就这样过是不是更舒服

01人老了,退休了,65岁之后生活的艰难也会接着到来。养老形势严峻,60后劳动大军纷纷进入暮年,养老队...

02-22 12:58:18

笔记本电脑内存不足怎么清理_电脑内存不足怎么清理

你们好,最近小活发现有诸多的小伙伴们对于笔记本电脑内存不足怎么清理,电脑内存不足怎么清理这个问题...

02-22 10:38:36

亿华通:180kW氢燃料电池发动机首发 天天微动态

亿华通官微2月22日消息,亿华通M180氢燃料电池发动机发布。M180发动机是亿华通基于最新一代产品平台优势...

02-22 09:07:20

2012年除夕石家庄_2012年除夕|全球看点

1、除夕有在腊月二十九的时候,比如2003年,2012年。2、除夕就是腊月二十九。以上就是【2012年除夕石家庄,201

02-22 06:07:25

最新快讯!大数据NiFi(十八):离线同步MySQL数据到HDFS

以上案例用到的处理器有“QueryDatabaseTable”、“ConvertAvroToJSON”、“SplitJson”、“PutHDFS”四个处理器。

02-22 01:16:21

全球连线|中国中部车企“走俏”中东市场-全球新消息

江西凯马百路佳客车有限公司是一家专注于客车制造和研发的企业,这家企业一季度订单饱和,其中有很大一...

02-21 21:40:12

券商重磅利好!这项业务试点正式上线

2月21日,中证金融公司市场化转融资业务试点上线。据了解,此次改革的核心是将转融资“固定期限、固定费...

02-21 19:06:11

连云港(601008.SH):向特定对象发行股票事项获港口控股集团批复 世界新视野

连云港(601008 SH):向特定对象发行股票事项获港口控股集团批复

02-21 17:16:59

焦点短讯!我国新一代高性能超大型集装箱船出江试航

今天(2月21日)上午,我国建造的新一代高性能超大型集装箱船“中远川崎335”轮,在长江引航中心5名引航...

02-21 15:42:40

茶能解酒吗_喝什么茶解酒效果最好

1 茶能解酒吗?没有,但也有一些例外。一般情况下,普通绿茶是不能解酒的。这是因为酒精进入体内后对神...

02-21 14:01:41

红gp卡好还是紫gp稀有_红GP贵还是蓝GP卡贵

红gp卡好还是紫gp稀有,红GP贵还是蓝GP卡贵这个很多人还不知道,现在让我们一起来看看吧!1、一张奥特曼...

02-21 11:47:51

V观财报|利空突袭!涨300%大牛股海天瑞声连遭减持

20日晚,大牛股海天瑞声公告,股东中移投资计划减持股份不超过公司股份总数3%。海天瑞声表示,公司是中...

02-21 09:59:03

全球热头条丨"提前还贷"预约难明显缓解 仍需等待两个多月

本报记者 彭 妍“前一阵根本就抢不到提前还款额度,预约都约不上

02-21 07:53:48

世界残酷写真集讲什么_世界残酷写真-世界微头条

1、有世界残酷档案和世界残酷奇谭就是没你这个!。本文分享完毕,希望对大家有所帮助。

02-21 04:11:00

环球简讯:读书驿站 书香四溢

环境安静舒适,十二类近千册朗读素材指尖触摸即可阅读,内容涵盖红色经典、文学文艺、休闲娱乐……近日...

02-20 23:38:13

粤桂股份: 广西粤桂广业控股股份有限公司增量奖励方案

粤桂股份:广西粤桂广业控股股份有限公司增量奖励方案

02-20 20:33:26

全球热消息:中炬高新:公司副总经理被留置调查

中炬高新公告,公司于2月17日晚收到中山市监察委员会的两份《留置通知书》,公司副总经理张卫华、朱洪滨...

02-20 17:54:11

焦点快报!淘宝网网上购物饰品_淘宝网网上购物

1、打开浏览器,在浏览器首页找到淘宝链接,点击进入。2、进入淘宝后,点击登录,可以用账号密码登录,...

02-20 15:57:50

天天热点评!杀了我治愈你【顾一野X顾魏】(第九章)

预警:人物ooc严重,双洁,be,不喜勿入一声温柔的阿野触动了顾一野心里最柔软的地方,他快步上前抱住了...

02-20 14:06:30

引“流量” 提“质量” 生态荔波热情“拥抱”世界

引“流量”提“质量”生态荔波热情“拥抱”世界---生态荔波热情“拥抱”世界。连日来,荔波县小七孔景区...

02-20 11:52:11

美官员:美国暂无计划结束对乌援助

据《国会山报》当地时间2月19日报导,美国白宫国家安全委员会战略沟通协调员约翰·柯比当日在接受采访时...

02-20 09:48:00

世界速递!痉挛是什么原因引起怎么治疗_痉挛是什么意思

1、1 肌肉突然紧张,不自主地抽搐的症状。2、2 所说的痉挛一般是指肌肉痉挛,差不多可以理解肌肉很强...

02-20 08:06:59

地震折腾,墨西哥火山喷出3500米灰柱,美国又来6.1级地震

作者:文 虞子期最近,我们在科学中对于自然灾难看得还是比较少,至少相对来说比前段时间稳定很多,不...

02-20 04:54:05

不老郑智征服两世界名帅,高洪波国足不用他是最大败招

事实上在斯科拉里之前,另一世界名帅,现国足主帅里皮对郑智同样赞爱有加。里皮和斯科拉里是世界杯冠军...

02-19 23:40:51

每日快看:机动车检测线多少钱一条_机动车检测线多少钱?

1、这个设备,最简单的也要2万左右(||):1。2、安全性能检测线:用于汽车年检,公安交警部门要求;2 综...

02-19 20:06:56

黑谷官网_黑谷忍的介绍 世界资讯

1、黑谷忍(11月22日-),是日本游戏原画家、插画家。2、长野县出身,现居东京都。3、2005年至2007年8月为止与

02-19 16:51:58

天天快播:如何密封 MDF

你需要的东西石膏板化合物120粒度打磨海绵150目砂纸粘布溶剂型底漆合成画笔丙烯酸乳胶漆或清漆保护您的MDF不受

02-19 14:02:20

科大国创:中国(合肥)数字经济创新峰会将于2月22日举行-观点

据科大国创微信公众号消息,中国(合肥)数字经济创新峰会将于今年2月22日在安徽广电中心举行,科大国创将...

02-19 11:04:39

天天快资讯丨2023年中国直播电商发展洞察(附下载)

关于报告的所有内容,公众『行业报告智库』阅读原文或点击菜单获取报告下载查看。摘要:报告显示,随着用...

02-19 07:53:20

当前热文:五菱打造的新车,3排6座空间灵活,一公里不到4毛,自带大沙发

最近,号称“五菱版的奥德赛”的五菱凯捷混动铂金版即将迎来上市。这款车和本田奥德赛一样,能够满足5人...

02-19 04:15:40

兄弟们!为什么我传奇的战力总是卡住?_天天最新

哈喽大家好!我是小鱼,今天呢有收到了许多玩家的私信说:小鱼为什么我们玩跟你一样的传奇你可以不断的...

02-18 23:04:46

【快播报】输液反应的应急预案试题带答案_输液反应的应急预案

1、【应急预案】  1 立刻停止输液或者保留静脉通路,改换其余液体和输液器。2、  2 报告医生并遵...

02-18 19:48:42

明世宗嘉靖皇帝_明嘉靖皇帝到底是怎样的一个皇帝 热门看点

1、嘉靖是明朝第十一位皇帝明世宗朱厚熜的年号,使用时间为嘉靖元年(1522年)[1]至嘉靖四十五年(1566年),一

02-18 16:52:20

世界热点评!即兴说唱歌词押韵_即兴说唱歌词大全

1、Hey,听着,我想要引起注意,就好像病毒瘟疫,是的没错,我买不起绿源电车,一不小心还会挂科,天天大...

02-18 14:00:06

每日播报!子在川上曰是什么意思_子在川上曰
焦点观察:中富通:后续将积极开展信创软件产品研发和适配技术
欠工程款找不到债务人还有什么办法-全球即时看
焦点报道:青海产手机远销海外
分光光度计的使用_分光光度计的使用方法|焦点精选
香港中小学面授课堂全面恢复,文锦渡边检保障跨境学童快速通关_天天快讯
动态焦点:梦幻西游套装属性表,梦幻西游套装属性加成表是什么
一周扭转广告业务无果:马斯克再裁数十名Twitter员工 天天看点
写意中国 探寻汉字起源丨历史与未来“一键”链接 甲骨文研究步入“云时代”|天天热头条
长妈妈出现几次_长妈妈
世界今头条!02月23日00时四川广元疫情数据 阳了以后为什么会腰疼?应该怎么办?
锦心似玉原著小说讲的是什么_锦心似玉原著小说
02月22日从迪庆出发到平顶山的防疫政策 每日资讯
杭州拟发放育儿补助,二孩家庭5000元、三孩家庭20000元
壹点送岗|重点企业用工专场网络招聘会(第2场)
天天消息!人老了,退休了,就这样过是不是更舒服
笔记本电脑内存不足怎么清理_电脑内存不足怎么清理
亿华通:180kW氢燃料电池发动机首发 天天微动态
2012年除夕石家庄_2012年除夕|全球看点
最新快讯!大数据NiFi(十八):离线同步MySQL数据到HDFS
全球连线|中国中部车企“走俏”中东市场-全球新消息
券商重磅利好!这项业务试点正式上线
连云港(601008.SH):向特定对象发行股票事项获港口控股集团批复 世界新视野
焦点短讯!我国新一代高性能超大型集装箱船出江试航
茶能解酒吗_喝什么茶解酒效果最好
红gp卡好还是紫gp稀有_红GP贵还是蓝GP卡贵
V观财报|利空突袭!涨300%大牛股海天瑞声连遭减持
全球热头条丨"提前还贷"预约难明显缓解 仍需等待两个多月
世界残酷写真集讲什么_世界残酷写真-世界微头条
环球简讯:读书驿站 书香四溢
粤桂股份: 广西粤桂广业控股股份有限公司增量奖励方案
全球热消息:中炬高新:公司副总经理被留置调查
焦点快报!淘宝网网上购物饰品_淘宝网网上购物
天天热点评!杀了我治愈你【顾一野X顾魏】(第九章)
引“流量” 提“质量” 生态荔波热情“拥抱”世界
美官员:美国暂无计划结束对乌援助
世界速递!痉挛是什么原因引起怎么治疗_痉挛是什么意思
地震折腾,墨西哥火山喷出3500米灰柱,美国又来6.1级地震
不老郑智征服两世界名帅,高洪波国足不用他是最大败招
每日快看:机动车检测线多少钱一条_机动车检测线多少钱?
黑谷官网_黑谷忍的介绍 世界资讯
天天快播:如何密封 MDF
科大国创:中国(合肥)数字经济创新峰会将于2月22日举行-观点
天天快资讯丨2023年中国直播电商发展洞察(附下载)
当前热文:五菱打造的新车,3排6座空间灵活,一公里不到4毛,自带大沙发
兄弟们!为什么我传奇的战力总是卡住?_天天最新
【快播报】输液反应的应急预案试题带答案_输液反应的应急预案
明世宗嘉靖皇帝_明嘉靖皇帝到底是怎样的一个皇帝 热门看点
世界热点评!即兴说唱歌词押韵_即兴说唱歌词大全
以假乱真!男子画裸眼 3D 墙绘绿植宛如实物
X 广告
行业动态
X 广告

Copyright ©  2015-2022 北方植物网版权所有  备案号:京ICP备2021034106号-50   联系邮箱: 55 16 53 8@qq.com