借助Sigar API获取内存信息

Sigar(全称System Information Gatherer And Reporter,即系统信息收集报表器),它提供了一个开源的跨平台的收集计算机硬件和操作系统信息的API(该API底层接口用C语言编写),本文将演示如何借助Sigar API获取内存信息:

package com.ghj.packageoftest;

import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
import org.hyperic.sigar.Swap;

/**
 * 借助Sigar API获取获取内存信息
 *
 * @author GaoHuanjie
 */
public class MemoryTool {

	public static void main(String[] args) throws SigarException {
		Sigar sigar = new Sigar();

		// 物理内存信息
		Mem mem = sigar.getMem();
		System.out.println("mem total:" + mem.getTotal() + " B");
		System.out.println("mem ram:" + mem.getRam() + " B");
		System.out.println("mem used:" + mem.getUsed() + " B");
		System.out.println("mem free:" + mem.getFree() + " B");
		System.out.println("mem actualUsed:" + mem.getActualUsed() + " B");
		System.out.println("mem actualFree:" + mem.getActualFree() + " B");
		System.out.println("mem usedPercent:" + mem.getUsedPercent() + "%");
		System.out.println("mem freePercent:" + mem.getFreePercent() + "%");

		// 交换区信息
		Swap swap = sigar.getSwap();
		System.err.println("swap total:" + swap.getTotal() + " B");
		System.err.println("swap used:" + swap.getUsed() + " B");
		System.err.println("swap free:" + swap.getFree() + " B");
		System.err.println("swap pageIn:" + swap.getPageIn());
		System.err.println("swap pageOut:" + swap.getPageOut());
	}
}

0分下载工程代码

时间: 2024-10-25 03:17:36

借助Sigar API获取内存信息的相关文章

借助Sigar API获取磁盘信息

Sigar(全称System Information Gatherer And Reporter,即系统信息收集报表器),它提供了一个开源的跨平台的收集计算机硬件和操作系统信息的API(该API底层接口用C语言编写),本文将演示如何借助Sigar API获取磁盘信息: package com.ghj.packageoftest; import org.hyperic.sigar.FileSystem; import org.hyperic.sigar.FileSystemUsage; impor

借助Sigar API获取网络信息

Sigar(全称System Information Gatherer And Reporter,即系统信息收集报表器),它提供了一个开源的跨平台的收集计算机硬件和操作系统信息的API(该API底层接口用C语言编写),本文将演示如何借助Sigar API获取网络信息: package com.ghj.packageoftest; import org.hyperic.sigar.NetFlags; import org.hyperic.sigar.NetInterfaceConfig; impo

借助Sigar API获取CPU相关信息

Sigar(全称System Information Gatherer And Reporter,即系统信息收集报表器),它提供了一个开源的跨平台的收集计算机硬件和操作系统信息的API(该API底层接口用C语言编写),本文将演示如何借助Sigar API获取CPU相关信息: package com.ghj.packageoftest; import org.hyperic.sigar.Cpu; import org.hyperic.sigar.CpuInfo; import org.hyperi

借助Sigar API获取操作系统信息

Sigar(全称System Information Gatherer And Reporter,即系统信息收集报表器),它提供了一个开源的跨平台的收集计算机硬件和操作系统信息的API(该API底层接口用C语言编写),本文将演示如何借助Sigar API获取操作系统信息: package com.ghj.packageoftest; import java.net.InetAddress; import org.hyperic.sigar.OperatingSystem; import org.

Android 获取内存信息

由于工作需要,研究了一下android上获取内存信息的方法,总结如下: 1.SDK获取 在Java层利用API获取很简单,直接使用ActivityManager.MemoryInfo类即可,代码如下: ActivityManager activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); ActivityManager.MemoryInfo memInfo=new ActivityManager.

PHP通过ZABBIX API获取主机信息 VS 直接从数据库获取主机信息

最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取主机信息 这种方式获取的主机信息相对是比较新的(每分钟更新一次).但因为每次都需要请求接口,所以相对比较慢,如果并发查询的主机数量比较多,就会非常慢. 开源监控系统ZABBIX的官方文档提供了丰富的API.我这里http请求是用的Guzzle 6.当然你也可以用php内置的curl函数自己写一个ht

C# 网络编程之通过豆瓣API获取书籍信息(一)

这篇文章主要是讲述如何通过豆瓣API获取书籍的信息,起初看到这个内容我最初的想法是在"C# 网络编程之网页简单下载实现"中通过HttpWebResponse类下载源码,再通过正则表达式分析获取结点标签得到信息.但后来发现可以通过豆瓣API提供的编程接口实现. 该文章仅是基础性C#网络编程文章,尝试测试了下豆瓣API,并没什么高深的内容.但希望对大家有所帮助,仅供学习. (警告:文章仅供参考,提供一种想法,否则访问多次-10次被403 forbidden莫怪.建议认证使用豆瓣API) 一

72获取内存信息(运行的进程数,可用的总内存,剩余内存)&&获取可用的总内存的BUG的解决

获取内存信息(运行的进程数,可用的总内存,剩余内存)属于系统的工具方法了,开始的工具方法是这样的: package com.ustc.mobilemanager.utils; import java.util.List; import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import android.app.ActivityManager.RunningAppProcessInfo

PHP检测获取内存信息

PHP也可以检测获取到Windows的内存信息,而且代码还挺简单,无意发现的,觉得以后能用上,在此与大家分享. 本代码将得到总内存.初始使用等内存信息: <?php echo "初始: ".memory_get_usage()." 字节 \n"; for ($i = 0; $i < 100000; $i++) { $array []= md5($i); } for ($i = 0; $i < 100000; $i++) { unset($array