首页 > Java开发 > Sigar获取内存的信息

Sigar获取内存的信息

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

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

下面通过例子说明:

[java][/java]

view plaincopy

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

输出:

[html][/html]

view plaincopy

  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>

下载地址:

本站下站sigar lib包

最新的Sigar官方包hyperic-sigar-1.6.4


本文固定链接: http://www.devba.com/index.php/archives/2767.html | 开发吧

Sigar获取内存的信息:目前有1 条留言

  1. 沙发
    初学者:

    楼主真是太善解人意了 现在太需要这个了 先顶个

    2015-01-05 上午 2:29