我有一个非常大的目录,要用 rm - rf 删除它。这花了很长时间,所以我打开了另一个终端,并尝试用 rm -rf 并行删除同一个目录。
这是否会加快删除目录的速度?或者这是否有可能最终导致速度变慢
答案1
试试吧。确切的性能因许多变量而异,因此结果特定于您的环境。可能不会像您预期的 2 倍那么好,甚至可能更糟。
元数据密集型文件系统操作会执行大量 IO,并在文件系统并发机制中引发争用。总结一篇相关的 USENIX 论文,理解文件系统的多核可扩展性,
- 细粒度的锁通常会阻碍可扩展性
- 微妙的争论很重要
还可以考虑利用一些存储技巧来使系统更快地可用。
将包含要再次删除的卷挂载到其他位置,/mnt/manyfiles
并在当前位置顶部挂载一个空目录,假设是/srv/whatever
。现在,当应用程序看到空目录时,您可以随时删除。
在问题目录处创建带有挂载点的新文件系统/srv/whatever
。下次需要删除时,删除并重新创建 LVM 卷比删除数千或数百万个文件要快得多。