rm单个tar文件大小的时间差

rm单个tar文件大小的时间差

如果我有一个文件,data.tar其中一个是1MB尺寸与尺寸10GB尺寸与尺寸10.0TBrm大小(是的,10 TB 是正确的)为什么在它们中的任何一个上执行时存在时间差异?造成时差的原因是什么?该rm命令在 10tb 文件上完成所需的合理时间应该是多少?应该有[明显的]时间差异吗?

这是我将如何迁移一些数据的测试运行,我做了一个tar -cf data.tar /data/*来创建它。取出时大约需要20-30秒。

当前在 RHEL 7.9 上运行,其中文件系统是 XFS 4.5。也对具有 XFS 5.0 的 RHEL 8.8 感兴趣。这是在一台具有 768 GB RAM、使用企业级 SAS SSD 和 PERC H740P 的服务器 (dell r740) 上,因此我预计这个时间差异原因仅在 Linux 内,与硬件缺陷无关。

答案1

XFS

应该有[明显的]时间差异吗?

这取决于范围分配;从理论上讲,两者都可能只是一大片连续的块,并且删除它们将花费相同的时间。删除一个文件系统条目、释放范围、释放元数据块、更新可用空间表。

不过,预计分配不会立即发生,并且较大文件的范围列表/Btree 将更加复杂,需要遍历可能很深的树。仅就这一点而言,20 秒似乎仍然过多。

@斯通尼带大提出了写障碍,这听起来很合理,但我仍然怀疑这是否需要 20 秒。

我正在运行一个简短的伪基准......

相关内容