java获取系统硬件信息的第三方jar包
2016-01-29 13:40
603 查看
官网:https://support.hyperic.com/display/SIGAR/Home%3bjsessionid=D9A582CF35294BA1F39FCBD2CC3CF0DB#Home-download
下载:http://sourceforge.net/projects/sigar/?source=typ_redirect
一、目前支持的操作系统清单:
二、文件内容:
三、window系统下需要的Jar包(红色框里面为需要导入的文件)
四、例子:
1、获取内存信息
2、获取CPU信息
下载:http://sourceforge.net/projects/sigar/?source=typ_redirect
一、目前支持的操作系统清单:
二、文件内容:
三、window系统下需要的Jar包(红色框里面为需要导入的文件)
四、例子:
1、获取内存信息
package com.shadowOfCode.sigar.demo3.examples; import org.hyperic.sigar.Mem; import org.hyperic.sigar.Swap; import org.hyperic.sigar.SigarException; /** * Display amount of free and used memory in the system. */ public class Free extends SigarCommandBase { public Free(Shell shell) { super(shell); } public Free() { super(); } public String getUsageShort() { return "Display information about free and used memory"; } private static Long format(long value) { return new Long(value / 1024); } public void output(String[] args) throws SigarException { Mem mem = this.sigar.getMem(); Swap swap = this.sigar.getSwap(); Object[] header = new Object[] { "total", "used", "free" }; Object[] memRow = new Object[] { format(mem.getTotal()), format(mem.getUsed()), format(mem.getFree()) }; Object[] actualRow = new Object[] { format(mem.getActualUsed()), format(mem.getActualFree()) }; Object[] swapRow = new Object[] { format(swap.getTotal()), format(swap.getUsed()), format(swap.getFree()) }; printf("%18s %10s %10s", header); printf("Mem: %10ld %10ld %10ld", memRow); //e.g. linux if ((mem.getUsed() != mem.getActualUsed()) || (mem.getFree() != mem.getActualFree())) { printf("-/+ buffers/cache: " + "%10ld %10d", actualRow); } printf("Swap: %10ld %10ld %10ld", swapRow); printf("RAM: %10ls", new Object[] { mem.getRam() + "MB" }); } public static void main(String[] args) throws Exception { new Free().processCommand(args); } }
2、获取CPU信息
package com.shadowOfCode.sigar.demo3.examples; import org.hyperic.sigar.CpuPerc; import org.hyperic.sigar.Sigar; import org.hyperic.sigar.SigarException; import org.hyperic.sigar.SigarLoader; /** * Display cpu information for each cpu found on the system. */ public class CpuInfo extends SigarCommandBase { public boolean displayTimes = true; public CpuInfo(Shell shell) { super(shell); } public CpuInfo() { super(); } public String getUsageShort() { return "Display cpu information"; } private void output(CpuPerc cpu) { println("User Time....." + CpuPerc.format(cpu.getUser())); println("Sys Time......" + CpuPerc.format(cpu.getSys())); println("Idle Time....." + CpuPerc.format(cpu.getIdle())); println("Wait Time....." + CpuPerc.format(cpu.getWait())); println("Nice Time....." + CpuPerc.format(cpu.getNice())); println("Combined......" + CpuPerc.format(cpu.getCombined())); println("Irq Time......" + CpuPerc.format(cpu.getIrq())); if (SigarLoader.IS_LINUX) { println("SoftIrq Time.." + CpuPerc.format(cpu.getSoftIrq())); println("Stolen Time...." + CpuPerc.format(cpu.getStolen())); } println(""); } public void output(String[] args) throws SigarException { org.hyperic.sigar.CpuInfo[] infos = this.sigar.getCpuInfoList(); CpuPerc[] cpus = this.sigar.getCpuPercList(); org.hyperic.sigar.CpuInfo info = infos[0]; long cacheSize = info.getCacheSize(); println("Vendor........." + info.getVendor()); println("Model.........." + info.getModel()); println("Mhz............" + info.getMhz()); println("Total CPUs....." + info.getTotalCores()); if ((info.getTotalCores() != info.getTotalSockets()) || (info.getCoresPerSocket() > info.getTotalCores())) { println("Physical CPUs.." + info.getTotalSockets()); println("Cores per CPU.." + info.getCoresPerSocket()); } if (cacheSize != Sigar.FIELD_NOTIMPL) { println("Cache size...." + cacheSize); } println(""); if (!this.displayTimes) { return; } for (int i=0; i<cpus.length; i++) { println("CPU " + i + "........."); output(cpus[i]); } println("Totals........"); output(this.sigar.getCpuPerc()); } public static void main(String[] args) throws Exception { new CpuInfo().processCommand(args); } }
相关文章推荐
- java的-D选项作用
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Windows下搭建Eclipse+Android开发环境
- [译]GC专家系列1:理解Java垃圾回收
- Myeclipse 2013 professional 序列号
- 在java中如何用键盘输入一个数,字符,字符串
- java实现从键盘接收一个输入字符
- java.sql.SQLException: Io 异常: The Network Adapter could not establish the connec
- java.io.NotSerializableException错误解决方法
- Java中List,ArrayList用法
- Java学习之Iterator(迭代器)的一般用法
- 邮件发送工具类 SendMail.java
- java提取json格式字符串
- 关于Android项目使用注解开发框架在eclipse环境下的配置
- 自动扫描FTP文件工具类 ScanFtp.java
- 读取Config文件工具类 PropertiesConfig.java
- MD5编码工具类 MD5Code.java
- 文件上传工具类 UploadUtil.java
- 删除文件夹工具类 DeleteFolder.java
- java 处理输入数据