`

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.}  

 

分享到:
评论

相关推荐

    export.sugar百度大屏sugar模版下载.zip

    标题中的"export.sugar百度大屏sugar模版下载.zip"指示了这是一个包含SUGAR模板的压缩文件,专门设计用于在百度大屏上展示数据。SUGAR(Smart UI for Giant Analytics Report)是一种用于大数据可视化和分析的工具,...

    SQL Sugar数据访问框架

    4. 支持多种数据库:SQL Sugar不仅兼容常见的SQL Server、MySQL、Oracle、SQLite,还支持PostgreSQL、DB2等多种数据库系统,具备良好的跨平台能力。 5. 强大的代码生成器:SQL Sugar提供了一个内置的代码生成工具,...

    SugarCRM傻瓜教程

    Fredricks撰写,她是SugarCRM认证的专业人士,对SugarCRM系统有深入的理解和丰富的使用经验。教程内容覆盖了SugarCRM的基本操作、高级功能以及最佳实践,适合各种层次的读者学习。 在阅读本教程之前,读者应该对...

    开源客户关系管理系统SugarCRM的使用教程.docx

    **SugarCRM 开源客户关系管理系统使用教程** SugarCRM 是一款流行的开源客户关系管理系统,它提供了丰富的功能,帮助企业管理和优化与客户的关系。以下是一些关键点的详细解释: 1. **权限设置** - **角色控制**...

    sugar.jar jar包.rar

    使用Sugar框架进行数据操作非常直观。例如,插入一条新记录: ```java Context context = ...; // 应用上下文 DatabaseHelper dbHelper = new DatabaseHelper(context); SQLiteDatabase db = dbHelper....

    SugarCrm6.3.1中文汉化包

    2. **备份数据**:在进行任何修改之前,先备份现有的SugarCRM系统数据,以防万一出现问题可以恢复。 3. **下载汉化包**:从可靠来源获取SugarCRM-LangPack-zh_cn-6.3.1.zip文件,这是实际的中文语言包。 4. **解压...

    sugarCRM开源客户关系管理系统社区版源码

    糖果CRM(SugarCRM)是一款全球范围内广泛应用的开源客户关系管理(CRM)系统,它的社区版源码提供了基础的功能和自定义能力,让开发者可以根据需求进行定制化开发。这款系统以其用户友好、功能全面和高度可扩展性而...

    Sugar CRM 6 中文包

    1. `manifest.php`:这是SugarCRM模块的元数据文件,包含了关于汉化包的信息,如作者、版本、依赖项等。在安装过程中,系统会读取这个文件来确认汉化包的兼容性和完整性。 2. `install`目录:包含汉化包的安装脚本和...

    sugarCrm 文档

    SugarCRM是一款非常流行的开源客户关系管理(CRM)系统,旨在帮助企业更好地管理销售、营销和服务流程。版本5.2的SugarCRM社区版提供了丰富的功能集,使得组织能够有效地跟踪客户交互、管理销售机会以及优化营销活动...

    基于PHP的SugarCRM客户关系管理系统 php版.zip

    10. **升级与维护**:随着SugarCRM版本更新,了解如何安全地升级系统,同时保持数据完整,是持续使用该系统的必要技能。此外,定期备份和恢复策略也是防止数据丢失的重要措施。 综上所述,基于PHP的SugarCRM客户...

    SugarCRM CE 6.5.20

    1. PHP基础:作为一款基于PHP开发的CRM系统,SugarCRM CE 6.5.20具有良好的跨平台性和广泛的开发者社区支持,易于安装和扩展。 2. 开源许可证:采用GNU Affero General Public License v3.0,用户可以自由地查看、...

    基于大数据的外卖系统数据的分析和研究(开题报告答辩PPT图文23页).pptx

    本研究计划使用Pycharm作为开发环境,构建包括Tkinter图形界面、爬虫、数据分析和反爬虫四个模块的系统。Tkinter用于交互设计,爬虫模块负责数据抓取,数据分析模块进行数据处理和可视化,反爬虫模块则用于应对可能...

    基于PHP的SugarCRM客户关系管理系统php版源码.zip

    SugarCRM是一款开源的客户关系管理系统(CRM),它的核心是构建在PHP编程语言之上的,因此得名“基于PHP的SugarCRM”。PHP是一种广泛应用于Web开发的脚本语言,以其易学易用和跨平台特性而广受开发者喜爱。在这款...

    Tereos Sugar使用PlantPAx过程自动化系统.pdf

    Tereos Sugar使用PlantPAx过程自动化系统pdf,Tereos Sugar使用PlantPAx过程自动化系统

    SugarCRM PHP客户关系管理系统 v6.2.2.rar

    糖果CRM(SugarCRM)是一款基于PHP开发的开源客户关系管理(CRM)系统,它旨在帮助企业管理和优化与客户的互动,提升销售效率和服务质量。在版本v6.2.2中,该系统可能包含了多项功能改进和性能优化。 首先,我们要...

    gulp-sugar-test:使用口香糖的例子

    `gulp`插件通常是小而专注的模块,通过`gulp.task`定义任务,并使用`gulp.src`和`gulp.dest`来读取和输出文件。 3. **测试**: `gulp-sugar-test`项目表明这个库是经过测试的,确保其功能正常且可靠。在软件开发中,...

Global site tag (gtag.js) - Google Analytics