跟踪器进程占用大量 CPU

跟踪器进程占用大量 CPU

我正在尝试了解我的机器上不同的后台进程在做什么,因为这台机器不时会冻结。我注意到跟踪器进程(如屏幕截图所示,有多个)占用了大量的 CPU 能力。我还注意到,如果我终止这些进程,问题就会解决,不会出现任何奇怪的情况或者至少什么都看不见确实发生在我的计算机上。

你知道这些进程的具体用途以及为什么它们会占用如此多的 CPU 能力(它们用这些能力做什么?)我尝试在线搜索一些有关跟踪器进程的信息,但我真的不明白它们的作用是什么。:/

提前感谢您的回答,我真的很渴望了解有关 Linux 的更多信息!:))

截图tracker流程:

屏幕截图跟踪器进程

tracker -store消耗大量的 CPU 能量:

tracker-store 占用大量 CPU 电量

tracker -extract消耗大量的 CPU 能量:

tracker-extract 占用大量 CPU 功率

答案1

Tracker 是 Ubuntu 19.10 版本默认启用的文件元数据索引器。它会索引您的文件,以便快速搜索文件中的内容文件或者Gnome 文档,查找图片侏儒照片,允许根据元数据重命名文件等等。您看到的不同进程是抓取文件系统、读取文件内容并将内容编入数据库索引以便通过 Tracker 感知接口进行快速搜索的进程,例如文件Gnome 外壳活动概览。

直到 Ubuntu 19.04,Ubuntu 开发人员在开始在 Ubuntu 17.04 中使用 Tracker 时才将其从 Gnome Shell 中删除。原因是性能问题。第一次创建完整索引,这需要花费大量时间。随后,索引会动态更新,因此不会造成严重的性能损失。尽管如此,即使在完全索引的系统中,登录后不久也会有几分钟的密集处理器使用。在具有现代多核处理器的系统上,这不会显著影响交互过程,但在较旧的系统上,它可能会导致系统响应明显下降长达十分钟。

Tracker 与 Gnome Shell 的集成度越来越高,目前是文件管理器nautilus(又名“文件”)的硬依赖项。因此,在长期版本 18.04 之后的 Ubuntu 版本(即 19.04、19.10 及更高版本)中,Tracker 默认启用。

禁用跟踪器

为了避免登录后处理器使用率过高,您可能需要禁用 Tracker。这将禁用全文搜索和基于标签的媒体文件重命名。它将禁用“加星标的文件”功能(Ubuntu 20.04)。但是,文件中的文件名搜索将继续有效。在概览中,禁用 Tracker 后似乎只能找到最近的文件。

编辑 2020-05-09:使用 systemd 为当前用户完全禁用跟踪器的方法(首选)

运行以下命令来禁用当前用户的跟踪器:

systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
tracker reset --hard
sudo reboot

要撤消,重新启用服务:

systemctl --user unmask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service
sudo reboot

编辑 2020-05-09:以下是我最初发布的方法,该方法基于禁用跟踪器组件登录时自动启动。我将其留作参考,但禁用系统服务(见上文)是最优雅、最完整和最推荐的方法,可在不破坏系统的情况下为当前用户完全停止跟踪器。

使用以下命令,您可以 1) 停止跟踪器守护程序(针对此会话),2) 移动到本地自动启动目录,3) 将各种跟踪器进程的启动文件复制到本地自动启动文件夹。4) 禁用这些进程的自动启动,5) 释放跟踪器可能已经创建的缓存占用的磁盘空间(可能是 2 - 4 GB)。

tracker daemon -t
cd ~/.config/autostart
cp -v /etc/xdg/autostart/tracker-* ./
for FILE in tracker-* ; do echo Hidden=true >> $FILE; done
rm -rf ~/.cache/tracker ~/.local/share/tracker

当你重新启动时,跟踪器守护进程将会运行,但不会执行任何索引,因此你的处理器只有在你工作时才会工作。

答案2

这里有更简单的方法可以完全消除它。

任何导致系统启动后负载超过 5 从而抑制用户输入的行为对我来说都是一个问题。这是我的解决方案:

apt purge tracker tracker-extract tracker-miner-fs

这是全新安装的 Ubuntu 20.04.2 上出现的问题。

答案3

似乎 nautilus 跟踪器存在某种 CPU 使用率问题。使用另一个 GUI 文件管理器,如 thunar。以下命令在 Ubuntu 上删除 nautilus 并安装 thunar

sudo apt-get remove nautilus, 
sudo apt-get install thunar

相关内容