`
wangrui
  • 浏览: 186764 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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>


  • lib.rar (780.6 KB)
  • 描述: 程序用到的jar
  • 下载次数: 333
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics