如何计算ext4上的可用磁盘空间?

Qwertie

我知道有些工具df可以显示磁盘上剩余的磁盘空间,但是我找不到有关此工具如何实际获取此信息的任何信息。我想文件系统会以某种方式跟踪此信息,但是我也找不到任何信息。

关于如何从文件系统(特别是ext4)中收集此信息,或者是否有任何有助于查找此信息的术语,是否有明确的解释?

muru

您可以看到df使用什么strace

$ strace df / |& grep -i ext
statfs("/", {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=4611519, f_bfree=864281, f_bavail=624269, f_files=1179648, f_ffree=620737, f_fsid={126240841, 1491846125}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_RELATIME}) = 0

来自man 2 statfs

The statfs() system call returns information about a mounted
filesystem.  path is the pathname of any file within the mounted
filesystem.  buf is a pointer to a statfs structure defined
approximately as follows:

   struct statfs {
       __fsword_t f_type;    /* Type of filesystem (see below) */
       __fsword_t f_bsize;   /* Optimal transfer block size */
       fsblkcnt_t f_blocks;  /* Total data blocks in filesystem */
       fsblkcnt_t f_bfree;   /* Free blocks in filesystem */
       fsblkcnt_t f_bavail;  /* Free blocks available to
                                unprivileged user */
       fsfilcnt_t f_files;   /* Total file nodes in filesystem */
       fsfilcnt_t f_ffree;   /* Free file nodes in filesystem */
       fsid_t     f_fsid;    /* Filesystem ID */
       __fsword_t f_namelen; /* Maximum length of filenames */
       __fsword_t f_frsize;  /* Fragment size (since Linux 2.6) */
       __fsword_t f_flags;   /* Mount flags of filesystem
                                (since Linux 2.6.36) */
       __fsword_t f_spare[xxx];
                       /* Padding bytes reserved for future use */
   };

如果您只想挂载点的自由空间,则statfs似乎是一个路要走。可用块*块大小=可用空间(-保留空间等)。


我想ext4必须将空闲块的计数保留在superblock中的某个位置,然后将其与块大小一起使用以获取可用空间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ext4安装在/和tmp上占用磁盘空间

来自分类Dev

ext4中的“ Ghost”文件?(ktorrent分配了磁盘空间)

来自分类Dev

删除文件后未回收ext4磁盘空间

来自分类Dev

可用磁盘空间

来自分类Dev

使用fallocate和mkfs.ext4可能会超出可用磁盘空间

来自分类Dev

当升压内存映射文件分配的磁盘空间大于HDD上的可用磁盘空间时,如何检测错误

来自分类Dev

HDD上的可用磁盘空间不足会削弱计算机性能吗?

来自分类Dev

如何使用命令获得可用的可用磁盘空间?

来自分类Dev

可用磁盘空间不足

来自分类Dev

Dolphin 在 Kubuntu 20.04 上显示的可用磁盘空间很小

来自分类Dev

如何使EXT4 USB记忆棒上的每台计算机上的每个文件都可用?

来自分类Dev

Xubuntu如何检查已用和可用磁盘空间

来自分类Dev

如何在Postgres中获取当前的可用磁盘空间?

来自分类Dev

在.bat文件中,如何测试可用磁盘空间?

来自分类Dev

Xubuntu如何检查已用和可用磁盘空间

来自分类Dev

如何恢复明显不可用的磁盘空间?

来自分类Dev

如何在Linux中擦除可用磁盘空间?

来自分类Dev

如何停止Mythbuntu(Mythtv 0.27)的可用磁盘空间用尽?

来自分类Dev

我的分区(ext4)如何知道其已用/可用空间的大小?

来自分类Dev

如何使用df计算总磁盘空间?

来自分类Dev

ext4分区大小/可用空间差异

来自分类Dev

ext4分区大小/可用空间差异

来自分类Dev

如何限制Ubuntu上的neo4j内存和磁盘空间使用?

来自分类Dev

如何在Swift 2.0中使用AttributesOfFileSystemForpaths获得总磁盘空间和可用磁盘空间

来自分类Dev

如何在Windows中使用Cloud Watch监视AWS EC2上的可用磁盘空间

来自分类Dev

如何释放磁盘空间?

来自分类Dev

释放来宾上的磁盘空间,减少主机上的可用空间

来自分类Dev

我应该在ext4卷上分配多少百分比的可用空间

来自分类Dev

计算将使用多少磁盘空间

Related 相关文章

  1. 1

    ext4安装在/和tmp上占用磁盘空间

  2. 2

    ext4中的“ Ghost”文件?(ktorrent分配了磁盘空间)

  3. 3

    删除文件后未回收ext4磁盘空间

  4. 4

    可用磁盘空间

  5. 5

    使用fallocate和mkfs.ext4可能会超出可用磁盘空间

  6. 6

    当升压内存映射文件分配的磁盘空间大于HDD上的可用磁盘空间时,如何检测错误

  7. 7

    HDD上的可用磁盘空间不足会削弱计算机性能吗?

  8. 8

    如何使用命令获得可用的可用磁盘空间?

  9. 9

    可用磁盘空间不足

  10. 10

    Dolphin 在 Kubuntu 20.04 上显示的可用磁盘空间很小

  11. 11

    如何使EXT4 USB记忆棒上的每台计算机上的每个文件都可用?

  12. 12

    Xubuntu如何检查已用和可用磁盘空间

  13. 13

    如何在Postgres中获取当前的可用磁盘空间?

  14. 14

    在.bat文件中,如何测试可用磁盘空间?

  15. 15

    Xubuntu如何检查已用和可用磁盘空间

  16. 16

    如何恢复明显不可用的磁盘空间?

  17. 17

    如何在Linux中擦除可用磁盘空间?

  18. 18

    如何停止Mythbuntu(Mythtv 0.27)的可用磁盘空间用尽?

  19. 19

    我的分区(ext4)如何知道其已用/可用空间的大小?

  20. 20

    如何使用df计算总磁盘空间?

  21. 21

    ext4分区大小/可用空间差异

  22. 22

    ext4分区大小/可用空间差异

  23. 23

    如何限制Ubuntu上的neo4j内存和磁盘空间使用?

  24. 24

    如何在Swift 2.0中使用AttributesOfFileSystemForpaths获得总磁盘空间和可用磁盘空间

  25. 25

    如何在Windows中使用Cloud Watch监视AWS EC2上的可用磁盘空间

  26. 26

    如何释放磁盘空间?

  27. 27

    释放来宾上的磁盘空间,减少主机上的可用空间

  28. 28

    我应该在ext4卷上分配多少百分比的可用空间

  29. 29

    计算将使用多少磁盘空间

热门标签

归档