通过在多个终端上运行 rm -rf 来加快删除大型目录的速度

通过在多个终端上运行 rm -rf 来加快删除大型目录的速度

我有一个非常大的目录,要用 rm - rf 删除它。这花了很长时间,所以我打开了另一个终端,并尝试用 rm -rf 并行删除同一个目录。

这是否会加快删除目录的速度?或者这是否有可能最终导致速度变慢

答案1

试试吧。确切的性能因许多变量而异,因此结果特定于您的环境。可能不会像您预期的 2 倍那么好,甚至可能更糟。

元数据密集型文件系统操作会执行大量 IO,并在文件系统并发机制中引发争用。总结一篇相关的 USENIX 论文,理解文件系统的多核可扩展性

  • 细粒度的锁通常会阻碍可扩展性
  • 微妙的争论很重要

还可以考虑利用一些存储技巧来使系统更快地可用。

将包含要再次删除的卷挂载到其他位置,/mnt/manyfiles并在当前位置顶部挂载一个空目录,假设是/srv/whatever。现在,当应用程序看到空目录时,您可以随时删除。

在问题目录处创建带有挂载点的新文件系统/srv/whatever。下次需要删除时,删除并重新创建 LVM 卷比删除数千或数百万个文件要快得多。

相关内容