Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
目录中有多少文件太多(在Windows和Linux上)?_Windows_Linux_File_Filesystems - Fatal编程技术网

目录中有多少文件太多(在Windows和Linux上)?

目录中有多少文件太多(在Windows和Linux上)?,windows,linux,file,filesystems,Windows,Linux,File,Filesystems,可能重复: 有人告诉我,在Linux和Windows中,在一个目录中放置太多文件可能会导致性能问题。这是真的吗?如果是这样,什么是避免这种情况的最佳方法?根据,目录的查找时间与条目数的平方成正比增加。(尽管这是NT3.5的一个缺陷。) 会议上也提出了类似的问题。一个答案是,性能似乎在1000到3000个文件之间下降,一张海报达到了18000个文件的硬限制。还有一篇文章声称,有300000个文件是可能的,但随着所有8.3文件名的使用,搜索时间迅速减少 要避免大目录,请创建一个、两个或更多级别的子

可能重复:

有人告诉我,在Linux和Windows中,在一个目录中放置太多文件可能会导致性能问题。这是真的吗?如果是这样,什么是避免这种情况的最佳方法?

根据,目录的查找时间与条目数的平方成正比增加。(尽管这是NT3.5的一个缺陷。)

会议上也提出了类似的问题。一个答案是,性能似乎在1000到3000个文件之间下降,一张海报达到了18000个文件的硬限制。还有一篇文章声称,有300000个文件是可能的,但随着所有8.3文件名的使用,搜索时间迅速减少


要避免大目录,请创建一个、两个或更多级别的子目录,并将文件散列到这些目录中。最简单的散列使用文件名的字母。因此,如果您选择了3个嵌套级别,则以abc001.txt开头的文件将被放置为\b\c\abc001.txt。3可能是杀伤力过大-每个目录使用两个字符可以减少嵌套级别的数量。e、 g.
ab\abc001.txt
。如果您预计任何目录中的文件将远远超过ca.3000个,那么您只需要进入两个嵌套级别。

Windows文件系统当前是NTFS。卷上的最大文件量为4294967295。驱动器上的文件编目在B+树中进行,该树提供日志(N)查找

在旧FAT32上,文件夹中的文件限制为64K。索引也是通过每个文件夹的列表来完成的,因此在数千次性能急剧下降之后。你可能不需要担心FAT32,除非你的观众有DOS、Windows95、98或Millenium(恶心)

在Linux上,它实际上取决于您使用的文件系统(如果您决定这样做,它可能是NTFS),extf3每个目录有32k个文件的限制。查找也是B+树,将为您提供日志(N)查找


进一步研究后,您的问题应该是关于文件系统的限制。

尝试执行什么操作时出现的性能问题?这个问题类似于“有多少用户或进程太多?”。它完全基于上下文、活动和您对“太”的定义。答案可能在1亿到1000万之间。重复:不是重复。另一个问题只是关于Linux(而不是Windows),它讨论了硬限制,而不是当目录有许多条目时性能问题的实际考虑。这个问题吸引了至少一个答案,其中包含的信息很好,而在另一个问题结束之前,这个答案是不存在的。我自己在网络服务器上使用两级嵌套子目录A-Z+0-9的经验是有问题的。由于某些原因,Windows似乎要花很长时间来枚举这些文件,即使每个子目录包含大约10个或更少的文件。我可以确认,在NTFS上,每个文件夹可以获得近250000个文件。如果你调整windows资源管理器的设置,它实际上不会像你想象的那么慢。如果他想知道硬限制,他会问这个问题。有些“软”限制会使性能变得不理想,在你达到硬限制之前,你会遇到这些软限制。这个答案对我来说非常完美。这个标题并不意味着硬的或软的——因此,用户可能会对这两个方面都提出这个问题。