为什么删除一些文件是如此之慢?

在整理一些文件夹时,我发现删除一些文件非常慢:

$ ls -lah a/ -rwxrwxrwx 1 user user 4 Nov 17 12:31 af8048e4aec858a02ac48119545413dd $ time (rm -v af8048e4aec858a02ac48119545413dd) removed 'af8048e4aec858a02ac48119545413dd' real 0m7.908s user 0m0.000s sys 0m0.000s 

而删除其他文件是这样的:

 $ touch some_file $ time (rm -v some_file) removed 'some_file' real 0m0.003s user 0m0.000s sys 0m0.000s 

我不明白发生了什么事。 我担心一些硬件问题…

任何帮助是受欢迎的,将不胜感激。

谢谢。

这取决于文件的大小以及文件在删除时是如何碎片化的。

较大的文件可能占用磁盘上的更多扇区,并且更可能在磁盘上更加分散。 FS表必须删除文件的索引条目,如果必须在磁盘上find该条目,可能需要更长的时间。

如果存在驱动程序性能问题或访问该磁盘部分的驱动器问题,也可能很重要。

如果驱动器必须清零磁盘(安全擦除),这也需要花费时间。 我不相信一个简单的“rm”会做一个安全的擦除,但我知道它会在数据库服务器上执行,除非禁用。