Hoher CPU-Verbrauch durch Tracker-Miner-Fs unter Ubuntu 20.04

In meiner Ubuntu-Installation habe ich das Problem, dass der Prozess Tracker-Miner-FS viel CPU verbraucht (konstant 5-10%) und einiges an Ram (ca. 200MB).

Der Tracker Miner ist Teil der Suche innerhalb von Gnome.

Während andere Nutzer davon berichten, dass ein hoher CPU-Verbrauch nur direkt nach dem Systemstart vorkam, bestand dieser bei mir konstant.

Analyse

Über tracker status lässt sich der aktuelle Status der Trackers abfragen. Hier konnte ich feststellen, dass die Indizierung lief, aber keine neuen Dateien dazukommen.

Über tracker daemon lassen sich die Indizierungsjobs anzeigen. Dort konnte ich sehen, dass der Prozess bei mir in einem über SSH eingebundenen Verzeichnis mit vielen Bildern festhängt.

Die aktuelle Konfiguration lässt sich über das folgende Kommando auslesen (ohne sudo ausführen):

gsettings list-recursively | grep -i org.freedesktop.Tracker | sort | uniq

Problemlösung

Indizierung im Batteriebetrieb

Da ich zum einen mit der Akku-Laufzeit meines Laptops nicht zufrieden bin, möchte ich die Indizierung im Batteriebetrieb abschalten. Dies ist über die folgenden Einstellungen möglich:

gsettings set org.freedesktop.Tracker.Miner.Files index-on-battery-first-time false
gsettings set org.freedesktop.Tracker.Miner.Files index-on-battery false

Siehe https://wiki.gnome.org/Projects/Tracker/Documentation/Configuration

Dateien von der Indizierung ausschließen

Wie oben erwähnt, hängt die Indizierung bei mir beim einlesen meine Fotos. Da ich nicht 10.000sende Fotos in meiner Suche benötige. Also möchte ich dieses Verzeichnis und seine Unterordner gerne von der Indizierung ausschließen.
Die folgenden Einstellungen definieren welche Dateien und Verzeichnisse ausgeschlossen werden:

org.freedesktop.Tracker.Miner.Files ignored-directories ['po', 'CVS', 'core-dumps', 'lost+found']
org.freedesktop.Tracker.Miner.Files ignored-directories-with-content ['.trackerignore', '.git', '.hg', '.nomedia']
org.freedesktop.Tracker.Miner.Files ignored-files ['*~', '*.o', '*.la', '*.lo', '*.loT', '*.in', '*.csproj', '*.m4', '*.rej', '*.gmo', '*.orig', '*.pc', '*.omf', '*.aux', '*.tmp', '*.vmdk', '*.vm*', '*.nvram', '*.part', '*.rcore', '*.lzo', 'autom4te', 'conftest', 'confstat', 'Makefile', 'SCCS', 'ltmain.sh', 'libtool', 'config.status', 'confdefs.h', 'configure', '#*#', '~$*.doc?', '~$*.dot?', '~$*.xls?', '~$*.xlt?', '~$*.xlam', '~$*.ppt?', '~$*.pot?', '~$*.ppam', '~$*.ppsm', '~$*.ppsx', '~$*.vsd?', '~$*.vss?', '~$*.vst?', 'mimeapps.list', 'mimeinfo.cache', 'gnome-mimeapps.list', 'kde-mimeapps.list', '*.directory']

Eigentlich sollte also eine .trackerignore-Datei in einem Verzeichnis ausreichen, um dieses zu ignorieren. Im ersten Versuch hat dies bei mir leider nicht wie gewünscht funktioniert und der Tracker ist dennoch in ein Unterverzeichnis abgetaucht.

Über GUI Konfigurieren

Aufruf über Einstellungen -> Suchen. Dort gibt es oben in der Titelleiste den Button „Orte durchsuchen“ über den Konfiguriert werden kann welche Verzeichnisse durchsucht werden sollen. Diesen Button habe ich die ersten Male auf der Einstellungsseite völlig übersehen.

Tracker komplett deaktivieren über Desktop-Files

Auf GitHub gibt es eine Beschreibung den Tracker komplett für euren Nutzer zu deaktivieren ohne an Systemdateien herumfummeln zu müssen:
(habe ich selbst noch nicht getestet)

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

Tracker über Konfiguration deaktivieren

Ein weiterer Tipp zum Deaktivieren von Tracker ist die Konfiguration:

gsettings set org.freedesktop.Tracker.Miner.Files enable-monitors false
gsettings set org.freedesktop.Tracker.Miner.Files ignored-files "['*']"
gsettings set org.freedesktop.Tracker.Miner.Files crawling-interval -2

Insbesondere das Setzen des Crawling Intervalls auf -2 soll den Indexer abschalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.