很明显,如果你把很多文件放在一个文件夹里,各种文件操作的效率就会下降(比如ls需要很长时间)。但是,在文件夹卡住您之前,您可以将多少文件放入文件夹中的限制是多少?显然,这可能因文件系统而异,但我认为它们至少在限制上是相似的。你能在那里塞满文件,直到你的磁盘空间用完,或者会遇到某种限制,比如在你的文件系统窒息之前你只能将 65536 个(或 2 个的其他倍数)文件放在一个文件夹中?
我对 jfs 最感兴趣,因为这是我主要用于我的大分区的东西,但一般来说知道 *nix 文件系统会很好。
在旧的 UFS 中,目录大小仅受磁盘空间的限制,因为目录只是文件 - 与其他文件一样 - 有效地无限长度。我不知道,但希望 JFS 也不例外。
至于多少是多少,让我想起了经理的故事,他注意到当机器上的用户超过8个时,性能会急剧下降,于是他要求系统管理员在代码中找到8并更改它到 16。关键是没有 8,它是整个系统的涌现属性。如何知道多大是太大?唯一实用的方法是添加条目,直到它花费比您想要的更长的时间。这显然是一种相当主观的方法,但没有其他方法。
如果您希望存储 65k+ 个文件,根据数据的性质以及您希望如何访问它,可能有更好的方法。