我目前通过 bash 脚本(在 Centos 6 上)每 30 分钟执行一次此命令,以删除大约 1 小时前的文件。问题是 find
命令使用了 45%我的 cpu 一直都在。有没有办法优化它。在任何时间点缓存中大约有 20 万个项目
find /dev/shm/cache -type f -mmin +59 -exec rm -f {} \;
最佳答案
您可以尝试使用 nice
以较低优先级运行该进程:
nice -n 19 find ...
另一件事,它可能不会对性能产生影响,
但是要使用 find
删除匹配的文件,
一个更简单的方法是 -delete
而不是 -exec
:
find /dev/shm/cache -type f -mmin +59 -delete
... 如果您的 find
版本支持它(感谢 @chepner 指出)(现代版本支持...)
关于bash - 使用 bash 删除旧文件的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33400890/