考虑到Ubuntu上ext4文件系统上目录条目的当前结构,文件系统最多可包含多少个文件?
计算文件系统可以包含的最大文件数的一般方法是什么?
考虑到Ubuntu上ext4文件系统上目录条目的当前结构,文件系统最多可包含多少个文件?
计算文件系统可以包含的最大文件数的一般方法是什么?
Answers:
Ext4的理论限制为40亿个文件,这受其用于标识每个文件的inode编号大小的限制(ext4使用32位inode编号)。但是,正如John所说,ext4静态分配inode表,因此在创建文件系统时设置实际限制。
df命令显示文件系统上空闲索引节点的数量:
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
Ext4还支持每个目录无限数量的子目录,尽管它可能默认限制为64,000。这是可配置的-请参阅内核新手中的ext4文章。
有关更多信息,请参见2007 Linux Symposium中的新ext4文件系统:当前状态和未来计划。
本质上没有一个。这取决于。创建ext4文件系统时,请确定inode表的大小,该表又控制文件系统一次可以容纳的目录或文件的总数。
在包含300万个文件的目录上运行时,不是Ubuntu,而是Redhat Linux上的基本命令(如find)会失败,并显示“ Too many arguments error”。如果不包含任何参数,ls将成功运行,但是一旦添加过滤器参数,ls就会失败并显示相同的错误。
假设这种基本命令的可靠性是强制性要求,我建议300万个文件太多。
tune2fs -l /path/to/device
并查找Inode计数值以查找给定文件系统的限制