gelonida Asked: 2019-09-25 03:00:08 +0800 CST2019-09-25 03:00:08 +0800 CST 2019-09-25 03:00:08 +0800 CST 具有数百万个文件的目录:列出文件的内存有效方式(linux / ext4) 772 不幸的是,我有一个应用程序,它将数百万个文件放在一个平面目录中(没有任何子目录) 如果我对给定目录执行 ls 或 find ,则 ls 或 find 会消耗数 GB 的 RAM。 我想,原因是 ls 和 find 将一个目录的所有文件读入 RAM。 我的问题是。 有没有什么办法可以列出这个目录的文件而不消耗这么多内存呢? 任何解决方案(特殊选项/不同的命令/要编译的 C 程序/特殊的 python 模块)都会很有趣。 linux bash 1 个回答 Voted Best Answer Eugen Rieck 2019-09-25T03:03:15+08:002019-09-25T03:03:15+08:00 有: 该ls命令不仅读取文件名,还读取fstat()每个文件。如果你使用这个opendir() / readdir() / close()序列,你会做得更好。 除此之外,列出目录所需的资源也是文件系统的一项功能:XFS使用量远低于ext4.
有:
该
ls
命令不仅读取文件名,还读取fstat()
每个文件。如果你使用这个opendir() / readdir() / close()
序列,你会做得更好。除此之外,列出目录所需的资源也是文件系统的一项功能:
XFS
使用量远低于ext4
.