【问题标题】:what is the max files per directory in EXT4?EXT4 中每个目录的最大文件数是多少?
【发布时间】:2013-07-06 10:11:50
【问题描述】:

EXT4、what i found is only EXT3等链接的限制是什么,只是假设而不是实数?

您能否提供我:每个目录的最大数量,最大大小?

【问题讨论】:

标签: filesystems ext4


【解决方案1】:

这取决于文件系统创建期间使用的 MKFS 参数。不同的 Linux 风格有不同的默认值,所以真的不可能明确地回答你的问题。

【讨论】:

  • 所以这就是为什么我只找到 EXT3 ?
  • 48 位块寻址表明文件的绝对最大数量为 281,474,976,710,656(假设只有一个块文件),但我怀疑这对您来说不是问题...... ;-)
  • 因为我会做什么,我在谈论文件系统,所以我比较了 FAT32、NTFS 和 EXT4(因为 EXT3 是旧的)。所以我谈到了目录上的最大文件(主题是关于网络服务器)
  • 啊,好点@Curt,并同意:inode 确实是每个文件系统的限制。但是假设在一个新的 ext4 文件系统中有大量的 inode,更相关的资源约束是目录索引限制。你可以在 inode 限制之前很久就达到这个目标......这正是发生在我身上的事情。最初的问题是关于目录中文件数量的限制。也就是说,我不知道如何计算每个目录的文件限制。 :)
【解决方案2】:

跟进@Curt 的回答。创建参数可以确定inode的数量,这最终会限制你。 df-i 开关为您提供 inode 信息。

(env)somesone@somewhere:/$ df -iT
Filesystem     Type       Inodes  IUsed    IFree IUse% Mounted on
/dev/root      ext4     25149440 612277 24537163    3% /
devtmpfs       devtmpfs  3085602   1418  3084184    1% /dev
none           tmpfs     3086068      2  3086066    1% /sys/fs/cgroup
none           tmpfs     3086068    858  3085210    1% /run
none           tmpfs     3086068      1  3086067    1% /run/lock
none           tmpfs     3086068      1  3086067    1% /run/shm
none           tmpfs     3086068      4  3086064    1% /run/user

顺便说一句,这是一个 Linode 盒子,所以它是虚拟化环境。我看到的数字是 24537163,这就是根 fs 有多少空闲 inode。请注意,一个目录中超过 10K 的文件可能会给许多工具带来困难。 100K 对公用事业来说真的很难。

另请参阅:https://serverfault.com/questions/104986/what-is-the-maximum-number-of-files-a-file-system-can-contain

【讨论】:

  • 另一个限制是 ext4 下目录中的目录数量...在几个网站上提到,64000 是您可以在目录中拥有的最大子目录数量。
  • @basZero 谢谢,如果某些代码正在生成目录,这可能是一个严格的限制。我看到 Ext3 是 32000,而 Ext4 是 ext4.wiki.kernel.org/index.php/… 的两倍
  • 是的,这是一个疯狂的强限制......当然 Ext4 提供使用“大目录”功能,但在那个配置目录中变得非常慢(因为它们不再被索引)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-25
  • 2010-09-28
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多