Sigar使用之:取得内存相关数据

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

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

下面通过例子说明:

1.package lab.sigar;   
2.  
3.import org.hyperic.sigar.Mem;   
4.import org.hyperic.sigar.Sigar;   
5.import org.hyperic.sigar.SigarException;   
6.import org.hyperic.sigar.Swap;   
7.  
8.import com.thoughtworks.xstream.XStream;   
9.  
10./**  
11. * 内存数据  
12. *   
13. * 使用Sigar获得系统内存信息  
14. *   
15. */  
16.public class MemoryData {   
17.    private Mem mem;   
18.    private Swap swap;   
19.  
20.    public MemoryData() {   
21.    }   
22.  
23.    public void populate(Sigar sigar) throws SigarException {   
24.        mem = sigar.getMem();   
25.        swap = sigar.getSwap();   
26.    }   
27.  
28.    public static MemoryData gather(Sigar sigar) throws SigarException {   
29.        MemoryData data = new MemoryData();   
30.        data.populate(sigar);   
31.        return data;   
32.    }   
33.       
34.    public static void main(String[] args) throws Exception {   
35.        Sigar sigar = new Sigar();   
36.        MemoryData memData = MemoryData.gather(sigar);   
37.        XStream xstream = new XStream();   
38.        xstream.alias("MemData", MemoryData.class);   
39.        System.out.println(xstream.toXML(memData));   
40.    }   
41.  
42.}  

 

输出:

1.<MemData>  
2.  <mem>  
3.    <total>1073102848</total>  
4.    <ram>1024</ram>  
5.    <used>932274176</used>  
6.    <free>140828672</free>  
7.    <actualUsed>932274176</actualUsed>  
8.    <actualFree>140828672</actualFree>  
9.  </mem>  
10.  <swap>  
11.    <total>2580328448</total>  
12.    <used>870432768</used>  
13.    <free>1709895680</free>  
14.    <pageIn>137691</pageIn>  
15.    <pageOut>19392</pageOut>  
16.  </swap>  
17.</MemData>  

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值