删除我认为数量适中的文件需要很长时间。例如:
$ pv linux-3.0.16.tar.bz2 | tar xj
73.2MB 0:00:16 [4.55MB/s]
$ pv linux-3.0.16.tar.bz2 | tar xj
73.2MB 0:03:16 [ 382kB/s]
分区格式为 ext4,安装 relatime,错误=remount-ro。删除文件期间处理器利用率没有激增。有人知道可能发生了什么吗?
更新:运行上述命令或rm -rf
以 root 身份运行均可按预期执行...
更新:搞清楚了。该盒子的系统管理员在盒子上全局安装了大量审计规则。删除它们可以解决问题。
答案1
当您替换或删除文件时,它会简单地执行以下操作:
- 查找该文件的 inode。
- 检查单个文件的权限、用户和组。
- 如果文件是目录,也删除目录中的文件(对每个文件重复 1 - 4)。
- 取消文件与其 inode 的链接。
这显然会大大降低性能,因为这比添加新 inode 并将文件写入磁盘要困难得多。这是 inode 表列表的副作用,如果是 inode 树,则只需删除整个分支即可。虽然这不会改变您正在解压的内容,因为解压将逐个文件进行,而不管 inode 的存储方式如何...
以 root 身份运行会省去第 2 步,这可能会或可能不会造成很大的差异。
您是否尝试过重新在 ext3 中安装并比较执行时间?
因为 ext4 删除速度更快,这是因为使用了区。如果它更慢,那才是值得注意的...