我正在运行linux mint 17并且我注意到我的计算机经常会慢慢爬行。当我看到顶部时,我看到" / usr / bin / find / -ignore_readdir_race(.. 。"等吸取了我的大部分记忆。它运行了很长时间(几个小时),我的猜测是它是我的硬盘驱动器的自动索引过程。
我正在开发一个项目,要求我在已安装的SSD上拥有超过600万个音频文件,因此另一个猜测是文件系统管理器正在尝试索引所有这些文件以便快速搜索。是这样的吗?有没有办法为SSD关闭它?
答案 0 :(得分:2)
locate
命令报告由常规cron任务为其数据库收集的数据。您可以从数据库中排除目录,使任务运行得更快。根据{{3}}
<强>
PRUNEPATHS
强>
由updatedb.conf(5)不应扫描的目录路径名的空格分隔列表。每个路径名必须完全采用locate(1)报告目录的形式。默认情况下,不会跳过任何路径。
例如,在我的Debian机器上,/etc/updatedb.conf
包含以下行:
PRUNEPATHS="/tmp /var/spool /media"
您可以修改/etc/updatedb.conf
以添加要忽略的目录。只需列出目录树的顶级目录;忽略父级时忽略子目录。
进一步阅读:
答案 1 :(得分:1)
这是每日cron作业,它更新locate命令使用的数据库。如果您想了解更多信息,请参阅updatedb(8)
。拥有六百万个音频文件可能会导致此进程占用大量CPU,因为它正在尝试索引本地文件系统。
如果你不使用locate,我建议你简单地禁用updatedb,如下所示:
sudo kill -9 <PID>
sudo chmod -x /etc/cron.daily/mlocate
sudo mv /var/lib/mlocate/mlocate.db /var/lib/mlocate/mlocate.db.bak
如果其他所有方法都失败了,只需删除该包。