java项目中使用Sigar获取系统信息
来源:互联网 发布:淘宝app抢购需要刷新吗 编辑:程序博客网 时间:2024/05/18 03:24
最近在做一个Java web项目时,有监控服务器性能信息等的需求,比如cpu、mem、disk等使用信息,于是各种google,找到了Sigar这个工具。
简介
Sigar(System Information Gatherer And Reporter),开源的跨平台系统信息收集工具,C语言实现,下载之后是个压缩包,保留好了下面各种用到。
使用
由于仅在Java里用到了Sigar,这里也就只讲讲java项目里怎么去用它(其他我也不会(⊙﹏⊙))。
1、下载Sigar.jar
- Maven:
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
- 非Maven:直接拷贝下载压缩包中的Sigar.jar 和jfinal-1.9-bin.jar(PathKit类需要用到)到你的项目lib目录
2、添加Sigar 依赖的本地库文件
此处解释一下,与普通jar包不同,Sigar API还要依赖本地的库文件来进行工作,其中:
- Windows下Sigar.jar 依赖:sigar-amd64-winnt.dll 或 sigar-x86-winnt.dll
- Linux 下Sigar.jar依赖:libsigar-amd64-linux.so 或 libsigar-x86-linux.so
Sigar 通过java.library.path
加载这些本地库文件,这些库文件同样可以在下载的压缩包中找到,官方给出的库文件更多,可以根据自己的跨平台需要选择。
Sigar这一点是非常蛋疼的,为了用几个API,每部署到一台电脑还要去折腾一遍库文件,想想就不能忍,还好发现了这篇博客,算是曲线救国,终于能比较嗨皮的用Sigar了! :-D ,下面是具体做法:
- i 将依赖库文件拷贝至项目某一目录下,此处我拷贝至web项目中的
//WebRoot/files/sigar
目录下 - ii 在项目中通过代码获取此路径并将其添加至
java.library.path
中,下面是部分代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
3、终于可以用了
经过比一般jar包复杂N倍的折腾,终于能够用起来了,不过,Sigar 的javaAPI真的是又直观有简单又好用又全面有木有!!!
下面举几个项目中用到的栗子,可能都算不到冰山一角:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
更多API使用参考压缩包中的doc(p.s. Sigar给的这个压缩包真是无所不包 ╮(╯_╰)╭)
The end
阅读全文
0 0
- java项目中使用Sigar获取系统信息
- java项目中使用Sigar获取系统信息
- java使用sigar获取linux系统内存使用信息 注意事项
- Sigar获取系统信息
- sigar获取系统信息
- sigar获取系统信息
- 如何使用sigar包获取系统信息
- Sigar介绍与使用(获取系统信息)
- 【深入JAVA】Java中获取系统相关信息——sigar
- 解决java使用sigar获取linux系统内存使用信息报错的问题
- 获取系统各项底层信息-sigar
- hyperic-sigar 获取全面的系统信息
- hyperic-sigar 获取全面的系统信息
- Linux 下使用Sigar 获取内存信息
- Linux下使用Sigar 获取磁盘信息
- 使用Sigar包获取操作系统信息
- 系统信息收集API : Java Sigar
- sigar获取进程信息
- MFC隐藏和显示一个控件的方法
- Python 编码错误的本质原因
- C++ String基础知识学习
- Java内存区域与内存溢出
- [Leetcode] 215. Kth Largest Element in an Array 解题报告
- java项目中使用Sigar获取系统信息
- 关于SharedPreferences apply() 和commit() 区别
- uintX-t
- 窗体部件之Dialogs
- 黄秀杰--小程序实现选择图片九宫格带预览
- Mac下安装Python3.5
- 004. Spring 注入参数
- HTML5 CSS3专题 纯CSS打造相册效果
- 贝叶斯分类器