Debian 6:如何检查目录中的最大文件数量是否有限制?

Debian 6:如何检查目录中的最大文件数量是否有限制?

我知道 fat32 每个目录有 65,000 个文件,那么 linux/debian 呢?

ext4?

答案1

这取决于您的文件系统。Ext3 有以下限制:

  • 最大子目录数量:32000(硬编码)
  • 最大数量索引节点(整个系统上文件和目录的最大数量):默认值是根据卷大小(以字节为单位)计算的(默认 inode 数量 = V/2^13)

其他文件系统会有不同的限制,有些会限制目录中的文件,而有些则不会。请参阅您的文件系统文档以获取更多信息。

您可以看到 Ext4 的一些限制这个问题

答案2

在 ext4 上:

  • 子目录限制为 64000。
  • 最大文件数 40 亿(在文件系统创建时指定)

答案3

那么,你为什么不测试一下你的机器呢?

#!/bin/bash

i=1
mkdir testdir || exit 1
cd testdir || exit 1

while true
do
  [ $(($i % 1000)) -eq 0 ] && echo "creating file $i"
  touch file.$i || { echo "failed to create file.$i"; exit 1; }
  ((i++))
done

请不要在生产服务器上运行它。由于它会创建大量文件,系统可能会变得非常缓慢。

还要注意,删除一个包含数千个文件的目录也可能需要很长时间(例如数小时)。

相关内容