sigar 求所有内存_Sigar使用之:取得系统内存的数据

在做系统监控的时候,为了分析系统的性能,我们不仅仅要取得CPU的使用数据,还要知道内存的占用情况。使用sigar也可以轻松的完成跨平台的内存监控数据。

内存的主要指标有:物理内存的大小、使用数、剩余数;交换内存的大小、使用数、剩余数;RAM的大小等等。

下面通过例子说明:

Java代码

packagelab.sigar;

importorg.hyperic.sigar.Mem;

importorg.hyperic.sigar.Sigar;

importorg.hyperic.sigar.SigarException;

importorg.hyperic.sigar.Swap;

importcom.thoughtworks.xstream.XStream;

/**

* 内存数据

*

* 使用Sigar获得系统内存信息

*

*/

publicclassMemoryData {

privateMem mem;

privateSwap swap;

publicMemoryData() {

}

publicvoidpopulate(Sigar sigar)throwsSigarException {

mem = sigar.getMem();

swap = sigar.getSwap();

}

publicstaticMemoryData gather(Sigar sigar)throwsSigarException {

MemoryData data =newMemoryData();

data.populate(sigar);

returndata;

}

publicstaticvoidmain(String[] args)throwsException {

Sigar sigar =newSigar();

MemoryData memData = MemoryData.gather(sigar);

XStream xstream =newXStream();

xstream.alias("MemData", MemoryData.class);

System.out.println(xstream.toXML(memData));

}

}

package lab.sigar;

import org.hyperic.sigar.Mem;

import org.hyperic.sigar.Sigar;

import org.hyperic.sigar.SigarException;

import org.hyperic.sigar.Swap;

import com.thoughtworks.xstream.XStream;

/**

* 内存数据

*

* 使用Sigar获得系统内存信息

*

*/

public class MemoryData {

private Mem mem;

private Swap swap;

public MemoryData() {

}

public void populate(Sigar sigar) throws SigarException {

mem = sigar.getMem();

swap = sigar.getSwap();

}

public static MemoryData gather(Sigar sigar) throws SigarException {

MemoryData data = new MemoryData();

data.populate(sigar);

return data;

}

public static void main(String[] args) throws Exception {

Sigar sigar = new Sigar();

MemoryData memData = MemoryData.gather(sigar);

XStream xstream = new XStream();

xstream.alias("MemData", MemoryData.class);

System.out.println(xstream.toXML(memData));

}

}

输出:

Xml代码

1073102848

1024

932274176

140828672

932274176

140828672

2580328448

870432768

1709895680

137691

19392

分享到:

2011-01-20 14:02

浏览 1776

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值