首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Sigar应用之:取得系统内存的数据

2012-11-07 
Sigar使用之:取得系统内存的数据在做系统监控的时候,为了分析系统的性能,我们不仅仅要取得CPU的使用数据,

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>


热点排行