我在主机上安装了一个NFS目录。 该目录现在有60万个日志文件,最终将有160万个日志文件。 这些文件很小,大部分都小于1MB。
问题是,我无法可靠地find该目录中一天中的所有文件。
如果我在下面运行这样的命令,我应该得到一天4320个文件,但是我可以得到从1到4320的任何数字,例如:
$ find /mnt/log -type f -name "some-prefix-rolling.log.2015-07-05*" | wc -l 2548
我必须按照原样读取这个目录。 我不能做任何改变,比如把一天的日志文件放在一个文件夹中,因为其他一些应用程序依赖于这个设置。
挂载选项是:ro,noatime,bg,hard,rsize = 32768,wsize = 32768,vers = 3
有谁知道如何解决这个问题?
虽然将文件存储在子目录中是理想的,但正确的(和预期的)行为并不是你所看到的。 一些提示来追踪问题:
ls -al | wc -l ls -al | wc -l返回一致的结果? 这篇文章给出了文件系统的一些上限。 不pipe在一个目录中可以存储多less个文件的“硬性限制”,你将很快遇到性能问题…在成千上万个文件的数十个文件中,不是几千个文件,尤其是如果你正在使用一个实用程序就像发现它必须parsing整个目录。