在 Ubuntu 10.10 上查找命令耗时过长

在 Ubuntu 10.10 上查找命令耗时过长

我的机器上的 find 命令执行时间太长。当我使用time命令时,我发现系统时间和用户时间与实际时间相比太小。我的 find 进程是否没有得到正确安排?

我打断了永无止境的查找命令并得到了以下统计数据:

Real time : 5min
Sys time : 1.1 sec
User time : 3 sec

我之前在跑步

find / -name ls 2>/dev/null

答案1

对于该find命令,磁盘 IO 可能比 CPU 时间成为更为严重的瓶颈。

比较你的

find / -name ls 2>/dev/null   

相当于

locate ls | grep "/ls$"

或者

locate -r "/ls$"

或(最快找到路径上命令的位置)

which ls

答案2

想发表一下我的看法...您可能想看看使用 mlocate。它将缓存系统上的文件,并允许您使用“locate”命令快速找到您要查找的内容。并且您可以使用“updatedb”命令更新缓存。唯一的缺点是它在脚本中不像 find 那样容易使用,因为它默认需要 root 权限才能使用。

Find 不会缓存任何内容,它每次都会重新扫描。就像 RedGrittyBrick 所说的那样,您的磁盘会造成系统瓶颈。

相关内容