zoukankan      html  css  js  c++  java
  • linux C代码获取磁盘大小

    [root@localhost ~]# df -h

    文件系统              容量  已用 可用 已用% 挂载点
    /dev/mapper/VolGroup00-LogVol00
                           14G   11G  2.5G  81% /
    /dev/sda1          99M   21M   73M  23% /boot
    tmpfs                 252M     0  252M   0% /dev/shm

    如下为C代码的实现

    #include <sys/vfs.h>

    [cpp] view plain copy
     
    1. struct statfs diskInfo;  
    2. statfs("/", &diskInfo);  
    3. unsigned long long totalBlocks = diskInfo.f_bsize;  
    4. unsigned long long totalSize = totalBlocks * diskInfo.f_blocks;  
    5. size_t mbTotalsize = totalSize>>20;  
    6. unsigned long long freeDisk = diskInfo.f_bfree*totalBlocks;  
    7. size_t mbFreedisk = freeDisk>>20;  
    8. printf ("/  total=%dMB, free=%dMB ", mbTotalsize, mbFreedisk);  
    9.   
    10. statfs("/boot", &diskInfo);  
    11. totalBlocks = diskInfo.f_bsize;  
    12. totalSize = totalBlocks * diskInfo.f_blocks;  
    13. mbTotalsize = totalSize>>20;  
    14. freeDisk = diskInfo.f_bfree*totalBlocks;  
    15. mbFreedisk = freeDisk>>20;  
    16. printf ("/boot  total=%dMB, free=%dMB ", mbTotalsize, mbFreedisk);  
    17.   
    18. statfs("/dev/shm", &diskInfo);  
    19. totalBlocks = diskInfo.f_bsize;  
    20. totalSize = totalBlocks * diskInfo.f_blocks;  
    21. mbTotalsize = totalSize>>20;  
    22. freeDisk = diskInfo.f_bfree*totalBlocks;  
    23. mbFreedisk = freeDisk>>20;  
    24. printf ("/dev/shm  total=%dMB, free=%dMB ", mbTotalsize, mbFreedisk);  


    执行输出如下:

    /                   total=13763MB, free=3246MB
    /boot           total=98MB,        free=78MB
    /dev/shm   total=251MB,      free=251MB

  • 相关阅读:
    check whether trace enabled
    11g新特性之IO校准(IO Calibration)
    缩小Oracle的系统表空间(SYSTEM、TEMP、UNDOTBS1、SYSAUX)
    性能优化】optimizer statistics统计信息管理技巧
    cluster c_obj#intcol# is growing too fast
    查询高水位
    SYSAUX and purging big objects (segments) manually
    第44课 继承中的访问级别
    第43课 继承的概念和意义
    第39课 逗号操作符的分析
  • 原文地址:https://www.cnblogs.com/poonpan/p/8628704.html
Copyright © 2011-2022 走看看