EXT文件系统文件数

EXT文件系统的文件数量限制

以下引用How many files can I put in a directory?,仅作参考,以实际实践为准。

强烈建议在一个目录层下不要存放大量的文件,如果要存放大量文件,一定要采用目录层次结构,使得单个目录层下文件数量得到控制。

实践证明,通过合理的存储结构,例如使用哈希方法创建合理子目录结构,文件系统是可以存放海量文件并且性能不会损失太大。如果在单个目录层次下存放数万文件,会导致目录无法存放新文件,并且无法使用ls等命令维护。在编写程序时,需要考虑实际生产环境,才能开发出真实可靠的软件!

FAT32:

    Maximum number of files: 268,173,300
    Maximum number of files per directory: 216 - 1 (65,535)
    Maximum file size: 2 GiB - 1 without LFS, 4 GiB - 1 with

NTFS:

    Maximum number of files: 232 - 1 (4,294,967,295)
    Maximum file size
        Implementation: 244 - 26 bytes (16 TiB - 64 KiB)
        Theoretical: 264 - 26 bytes (16 EiB - 64 KiB)
    Maximum volume size
        Implementation: 232 - 1 clusters (256 TiB - 64 KiB)
        Theoretical: 264 - 1 clusters

ext2:

    Maximum number of files: 1018
    Maximum number of files per directory: ~1.3 × 1020 (performance issues past 10,000)
    Maximum file size
        16 GiB (block size of 1 KiB)
        256 GiB (block size of 2 KiB)
        2 TiB (block size of 4 KiB)
        2 TiB (block size of 8 KiB)
    Maximum volume size
        4 TiB (block size of 1 KiB)
        8 TiB (block size of 2 KiB)
        16 TiB (block size of 4 KiB)
        32 TiB (block size of 8 KiB)

ext3:

    Maximum number of files: min(volumeSize / 213, numberOfBlocks)
    Maximum file size: same as ext2
    Maximum volume size: same as ext2

ext4:

    Maximum number of files: 232 - 1 (4,294,967,295)
    Maximum number of files per directory: unlimited
    Maximum file size: 244 - 1 bytes (16 TiB - 1)
    Maximum volume size: 248 - 1 bytes (256 TiB - 1)

补充:Ext文件系统保留空间

ext2/3/4文件系统默认会保留5%空间给root用户使用,以避免普通用户完全填满文件系统导致系统组件无法写入磁盘而无法运行。可以通过以下命令检查磁盘的保留数据块(Reserved block count)

sudo tune2fs -l /dev/sda8

对于/home分区,可以安全地关闭这个保留空间功能(/home分区都是普通用户使用),这样可以节约一些磁盘空间

sudo tune2fs -m 0 /dev/sda8

参考 df -h - Used space + Avail Free space is less than the Total size of /home

参考

Last updated