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

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

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

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

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

下面通过例子说明:
package lab.sigar;

import java.util.ArrayList;
import java.util.List;

import org.hyperic.sigar.FileSystem;
import org.hyperic.sigar.FileSystemUsage;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;

import com.thoughtworks.xstream.XStream;

/**
 * 文件系统数据
 * 
 * 使用Sigar获得文件系统信息
 * 
 * @author wangrui
 * 
 */
public class FileSystemData {

    private FileSystem config;
    private FileSystemUsage stat;

    public FileSystemData() {}

    public void populate(Sigar sigar, FileSystem fs)
        throws SigarException {

        config = fs;

        try {
            stat = sigar.getFileSystemUsage(fs.getDirName());
        } catch (SigarException e) {
            
        }
    }

    public static FileSystemData gather(Sigar sigar, FileSystem fs)
        throws SigarException {
    
        FileSystemData data = new FileSystemData();
        data.populate(sigar, fs);
        return data;
    }

    public FileSystem getConfig() {
        return config;
    }

    public FileSystemUsage getStat() {
        return stat;
    }
    
	public static void main(String[] args) throws Exception {
    	Sigar sigar = new Sigar();
    	FileSystem[] fsArr = sigar.getFileSystemList();
    	List fsList = new ArrayList();
    	for ( FileSystem fs:fsArr ) {
    		FileSystemData fsData = FileSystemData.gather(sigar, fs);
    		fsList.add(fsData);
    	}
    	XStream xstream = new XStream();
    	xstream.alias("FileSystemDatas", List.class);
		xstream.alias("FileSystemData", FileSystemData.class);
        System.out.println(xstream.toXML(fsList));
    }
}


用到的jar包可以在《Sigar使用之:取得系统内存的数据》中取得

2
0
分享到:
评论

相关推荐

    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)系统,它的社区版源码提供了基础的功能和自定义能力,让开发者可以根据需求进行定制化开发。这款系统以其用户友好、功能全面和高度可扩展性而...

    SugarCRM开发帮助文档

    - **文件缓存**:为了提高性能,SugarCRM使用了文件缓存机制来存储频繁访问的数据,减少数据库查询次数。 - **SugarDashlets**:SugarDashlets是SugarCRM中一种重要的UI组件,用于在仪表盘上展示信息或者提供快捷...

    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