Sigar使用之:取得平台文件系统的数据

在网络应用中,从最初为用户提供文本数据,发展到现在为用户提供视频数据。网络的内容更丰富了,当然资源所占用的服务器硬盘空间也更大了。经常会出现磁盘满,无法写入数据的情况。为此我们就需要对磁盘进行监控,也就是对文件系统进行监控。

文件系统的指标有:名称、分区类型等基本信息;读写次数等统计信息。

当然了使用sigar也可以获得分件系统的这些数据。

1.package lab.sigar;   
2.  
3.import java.util.ArrayList;   
4.import java.util.List;   
5.  
6.import org.hyperic.sigar.FileSystem;   
7.import org.hyperic.sigar.FileSystemUsage;   
8.import org.hyperic.sigar.Sigar;   
9.import org.hyperic.sigar.SigarException;   
10.  
11.import com.thoughtworks.xstream.XStream;   
12.  
13./**  
14. * 文件系统数据  
15. *   
16. * 使用Sigar获得文件系统信息  
17. *   
18. * @author wangrui  
19. *   
20. */  
21.public class FileSystemData {   
22.  
23.    private FileSystem config;   
24.    private FileSystemUsage stat;   
25.  
26.    public FileSystemData() {}   
27.  
28.    public void populate(Sigar sigar, FileSystem fs)   
29.        throws SigarException {   
30.  
31.        config = fs;   
32.  
33.        try {   
34.            stat = sigar.getFileSystemUsage(fs.getDirName());   
35.        } catch (SigarException e) {   
36.               
37.        }   
38.    }   
39.  
40.    public static FileSystemData gather(Sigar sigar, FileSystem fs)   
41.        throws SigarException {   
42.       
43.        FileSystemData data = new FileSystemData();   
44.        data.populate(sigar, fs);   
45.        return data;   
46.    }   
47.  
48.    public FileSystem getConfig() {   
49.        return config;   
50.    }   
51.  
52.    public FileSystemUsage getStat() {   
53.        return stat;   
54.    }   
55.       
56.    public static void main(String[] args) throws Exception {   
57.        Sigar sigar = new Sigar();   
58.        FileSystem[] fsArr = sigar.getFileSystemList();   
59.        List fsList = new ArrayList();   
60.        for ( FileSystem fs:fsArr ) {   
61.            FileSystemData fsData = FileSystemData.gather(sigar, fs);   
62.            fsList.add(fsData);   
63.        }   
64.        XStream xstream = new XStream();   
65.        xstream.alias("FileSystemDatas", List.class);   
66.        xstream.alias("FileSystemData", FileSystemData.class);   
67.        System.out.println(xstream.toXML(fsList));   
68.    }   
69.}  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值