linux 删除文件 cpu,在linux上删除大量文件会占用CPU

这里有一些

benchmarks用于各种操作和文件系统供您参考. (在繁忙的系统上,你当然会得到不同的结果,但希望这会让你知道会发生什么).

如果我在你的椅子上,我会尝试获得该场景的基线基准:

>确定操作将在与其他所有设备隔离的裸硬件上花费多长时间(是的,它应该花费很多,甚至在相当旧的硬件上需要7-8小时).

>尝试添加通常以受控方式发生的其他操作,并查看实际运行这么长时间的操作

一些数字.

在5岁的笔记本上,

ext3安装rw,noatime,跑顶,没什么

使用shell脚本create10kdirs.sh创建10k目录

#!/bin/bash

for i in $(seq 10000)

do

mkdir $i

done

sudo时间./create10kdirs.sh

24.59user

20.70system

0:47.04elapsed

96%cpu(0avgtext 0avgdata 0maxresident)k80inputs 8outputs(1major 2735150minor)pagefaults 0swaps

删除10k目录

sudo time rm -rf

0.10user

19.75system

0:20.71elapsed

95%cpu(0avgtext 0avgdata 0maxresident)k0inputs 8outputs(0major 222minor)pagefaults 0swaps

相同的硬件,ext4安装rw,noatime

用shell脚本创建10k目录

sudo时间create10kdirs.sh

23.96user

22.31system

0:49.26elapsed

93%cpu(0avgtext 0avgdata0maxresident)k1896inputs 8outputs(20major 2715174minor)pagefaults 0swaps

删除10k目录

sudo time rm -rf

0.13user

16.96system

0:28.21elapsed

60%cpu(0avgtext 0avgdata0maxresident)k10160inputs 0outputs(1major 219minor)pagefaults0swaps

4岁的笔记本电脑,xfs安装了rw,relatime,nobarrier在USB上

sudo时间create10kdirs.sh

14.19user

13.86system

0:29.75elapsed

94%cpu(0avgtext 0avgdata0maxresident)k432inputs 0outputs(1major 2735243minor)pagefaults 0swaps

删除10k目录

sudo time rm -rf

0.13user

2.65system

0:08.20elapsed

33%cpu(0avgtext 0avgdata 0maxresident)k120inputs 0outputs(1major 222minor)pagefaults 0swaps

结论:

这个旧硬件将在大约21s * 40 = 12m40s内擦除ext3上的400k小文件夹.在xfs(与nobarriers)上,它将在大约5分20秒内完成.

在两个测试用例中,测试机器都没有负载很重,但对我来说,似乎你的问题与你选择的文件系统没有严格的关系.

EDIT2

此外,在运行上面的基准测试后,我去尝试删除

找 . -mindepth 1 -maxdepth 1 -delete

和结果!:

EXT3

删除10k目录

sudo时间找到. -mindepth 1 -maxdepth 1 -delete

0.04user

0.44system

0:00.88elapsed

55%cpu(0avgtext 0avgdata 0maxresident)k516inputs 8outputs(1major 688minor)pagefaults0swaps

EXT4

删除10k目录

sudo时间找到. -mindepth 1 -maxdepth 1 -delete

0.05user

0.66system

0:01.02elapsed

70%cpu(0avgtext 0avgdata 0maxresident)k568inputs 0outputs(1major 689minor)pagefaults swaps

XFS

删除10k目录

sudo时间找到. -mindepth 1 -maxdepth 1 -delete

0.06user

0.84system

0:04.55elapsed

19%cpu(0avgtext 0avgdata 0maxresident)k416inputs 0outputs(3major 685minor)pagefaults 0swaps

真正的结论是rm -rf不是很聪明,而且它对大树的表现不佳. (假设我的测试用例真的很有代表性).

注意:我也测试了xargs变体并且速度很快,但速度不如上面那么快.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值