Tracker extract always running (despite masking its service)

Hi

In my existing Fedora 39 installation, I had already masked the tracker-extract-3.service because I don’t want it to index file contents, while I’m fine with tracker indexing file names.

I’ve just upgraded to Fedora 40 and the tracker-extract process is running and eating most of the CPU.

The service is masked (I tried both at the user level and system level):

❯ systemctl status tracker-extract-3
Warning: The unit file, source configuration file or drop-ins of tracker-extract-3.service changed on disk. Run 'systemctl daemon-reload' to reload units.
○ tracker-extract-3.service
     Loaded: masked (Reason: Unit tracker-extract-3.service is masked.)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: inactive (dead)

but there’s no way to stop it, not even with sudo systemctl stop tracker-extract-3.

Masking the tracker extract service has always worked for me before in all my Gnome installations (Fedora, Ubuntu, Arch).

1 Like

If I understand correctly, that disables tracker entirely, which I don’t want, see my original post.
I only want to disable the search into file contents, which is what tracker-extract does.

To be clear:

  • You can only mask existing services, see list-unit-files.
  • User services must be explicitly specified as --user or --global.

Here’s what I have

$ systemctl --user list-unit-files tracker\*
UNIT FILE                          STATE    PRESET  
tracker-extract-3.service          masked   disabled
tracker-miner-fs-3.service         disabled disabled
tracker-miner-fs-control-3.service static   -       
tracker-miner-rss-3.service        disabled disabled
tracker-writeback-3.service        static   -       
tracker-xdg-portal-3.service       static   -       

$ systemctl --global list-unit-files tracker\*
UNIT FILE                          STATE    PRESET  
tracker-miner-fs-3.service         disabled disabled
tracker-miner-fs-control-3.service static   -       
tracker-miner-rss-3.service        disabled disabled
tracker-writeback-3.service        static   -       
tracker-xdg-portal-3.service       static   -     

As you see, at the user level, the tracker-extract is masked; but it insisted in running upon logging into the updated system.

You have created a non-existing service by masking it, this works with random unit names, perhaps a bug or feature.

In Fedora, the process tracker-extract-3 has no separate service file, it should be started by something else.

See also:

grep -e ^Exec= /etc/xdg/autostart/tracker-*.desktop

I have also just upgraded, but for me, there definitely is no tracker process running. I have exactly the same output as you, but I do not see any tracker related processed in ps ax. Unfortunately, that does not help you specifically right now.

As far as I know, it is only possible to fully disable tracker, or not. Without tracker, Nautilus still finds file names. It is the tracker process that launches the “miner” when needed. Afaik, there is no way to configure a running tracker not to index file contents.

Maybe because tracker extract has already indexed what it had to index.

The same happens in my case and I realized that because there are several things to index.

As I said, previously, tracker extract could be disabled without disabling tracker. Maybe that’s not possible anyone.

1 Like

Same for me on Fedora 40.

PID        USER   PR  NI VIRT          RES    SHR S   %CPU  %MEM   TIME+ COMMAND     
177113 user    39  19 3996856   1,0g  70464 S 104,3   3,3 243:51.41 tracker-extract                                                                                                                  
54004 user    39  19 1195640  60040  18364 S  33,9   0,2  25:08.92 tracker-miner-f

This makes the system unusable :frowning:

My old approach was to uninstall tracker. That became impossible when tracker became a hard dependency of nautilus. I am not sure if one can go on without not disabling all of the tracker services. I have the impression that a tracker service is automatically started when it is needed by another component.

That is how I disabled tracker when installing Fedora 38, from which I upgraded each time:

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 

The reset --hard option also deletes the database.

As I said, I don’t want to disable tracker completely.

As you can see from my original message, the mask trick doesn’t work anymore because there doesn’t seem to be a tracker-extract service anymore.

As I suspected, this is effectively changed in Gnome 46: Can tracker extract be disabled in Gnome 46 - Platform - GNOME Discourse

1 Like

Interesting. Thanks for digging into it. I always fully disabled Tracker, and it still is after my upgrade to Fedora 40. Fully disabling Tracker disables file searching in the Activities overview, but does not disable file name search in Nautilus. In Nautilus, I never had issues with performance. It could be that file name search is faster with Tracker enabled.

After upgrade to kernel 6.9.7-100.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 27 18:06:32 UTC 2024 x86_64 GNU/Linux a couple of days ago my weekly backup was still running after 10 hours, it normally completes after about 5 hours… I found that the tracker process was using 97% of CPU. This had not been happening prior. I killed the process and everything speed up tremendously.

My update was on July 5th, 2024.