我尝试rm -rf foldername
删除一个包含 10,000 个 25KB 文件的文件夹。
问题为什么要花这么长时间(将近 30 分钟)?
为什么服务器变得非常慢,即使htop
显示 CPU % 利用率非常低?该进程仅占用 0.0% 的 CPU 和 0.2% 的 MEM?但不知何故平均负载是 10!
顶部
iotop
答案1
您需要nice
减少 CPU 负载的进程和ionice
减少磁盘 I/O 负载的进程:
ionice -c 3 nice -n 19 echo foo
这应该创建一个以最不利的 CPU 和 I/O 调度运行的进程。
您可以通过以下方式确认:
ionice -p 19574
答案2
大量小文件通常对文件系统/硬盘来说很困难(读写头必须到处乱窜才能找到每个文件,由于文件太小,因此会产生这种影响)。要么就是你的硬盘已经在处理很多事情,要么就是硬盘出现故障。
nice -n 19 rm -rf directory
这将以最低优先级运行“rm”。