tracker-store and tracker-miner-fs eating up my CPU on every startup

Scripting solution to disable it permanently on Ubuntu 16.04

As mention in the comments, files mention in this post no longer exist in 16.04. You can use the following script (source):

echo -e "\nHidden=true\n" | sudo tee --append /etc/xdg/autostart/tracker-extract.desktop /etc/xdg/autostart/tracker-miner-apps.desktop /etc/xdg/autostart/tracker-miner-fs.desktop /etc/xdg/autostart/tracker-miner-user-guides.desktop /etc/xdg/autostart/tracker-store.desktop > /dev/null

gsettings set org.freedesktop.Tracker.Miner.Files crawling-interval -2  # Default: -1
gsettings set org.freedesktop.Tracker.Miner.Files enable-monitors false # Default: true

tracker reset --hard   

These are confirmed bugs on Launchpad: 911981, 925948, 1063255.

What does these processes do?

Tracker is a synergy of technologies that are designed to provide a highly sophisticated, innovative and integrated desktop.

Tracker provides the following:

  • Indexer for desktop search (for more details see this spec : https://wiki.ubuntu.com/IntegratedDesktopSearch)
  • Tag database for doing keyword tagging of any object
  • Extensible metadata database for apps like gedit and rhythmbox which need to add custom metadata to files
  • Database for first class objects allows using tracker's database for storage and implementation of First Class Objects and the Gnome 3.0 Model.

How to get rid of processes?

  1. Disabling tracker for globally (for all users)

    1. Edit /etc/xdg/autostart/trackerd.desktop file with root privileges (sudo -i gedit /etc/xdg/autostart/trackerd.desktop)
    2. Add Hidden=true to the end of the file
    3. Do the same for /etc/xdg/autostart/tracker-applet.desktop if you want
  2. Disabling tracker for your user only

    1. Enter the directory ~/.config/autostart, create it if it does not exist
    2. Create a file named trackerd.desktop
    3. Paste the following into the file, save and exit:

      [Desktop Entry]
      Encoding=UTF-8
      Name=Tracker
      Hidden=true
      

Source: https://wiki.ubuntu.com/Tracker


Simply change this values using the gsettings witch will disable the constant indexing of Tracker:

gsettings set org.freedesktop.Tracker.Miner.Files crawling-interval -2  
gsettings set org.freedesktop.Tracker.Miner.Files enable-monitors false

The values could be changed using dconf-editor by navigating through org > freedesktop > Tracker > Miner > Files:

org.freedesktop.Tracker.Miner.Files

After this changes, it is highly recommended to cleanup the database to reclaim some lost space on the disk:

echo y | LANG=en tracker reset --hard

Maybe it's relevant for Ubuntu 14.04/GDM, and if it important to do not remove whole service then will be better to stop and/or renice.

Hence it can be:

Stop/reniced ( not recommended method ):

$ tracker-control -p  
Found 171 PIDs…  
Found process ID NNNN for 'tracker-store'  
Found process ID MMMM for 'tracker-miner-fs'  

$ initctl stop tracker-store && renice -n +19 -p NNNN && initctl start tracker-store

Notice people suggest yet tracker-control -r and maybe for systems with indexing enabled this will be better:

$ tracker-control -e

OR the same with System Monitor GUI:

Applications > Utilities > System Monitor

  • sort > Name
  • scroll > tracker-store
  • right click > Stop Process
  • right click > Change Priority > Very Low
  • right click > Continue Process

OR maybe the most appropriate way for systems with running tracker-store:

Applications > System Tools > Search & Indexing

List item

Tags:

Cpu Load