Sigar获取内存的信息

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

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

下面通过例子说明:


    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));  
        }  
      
    }  

输出:

<MemData>  
  <mem>  
    <total>1073102848</total>  
    <ram>1024</ram>  
    <used>932274176</used>  
    <free>140828672</free>  
    <actualUsed>932274176</actualUsed>  
    <actualFree>140828672</actualFree>  
  </mem>  
  <swap>  
    <total>2580328448</total>  
    <used>870432768</used>  
    <free>1709895680</free>  
    <pageIn>137691</pageIn>  
    <pageOut>19392</pageOut>  
  </swap>  
</MemData>

下载地址: 见内容底部


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值