One fine day I heard a laptop of mine making a sustained noise. I thought immediately of high CPU utilization. My intuition was right.
The issue was happening in Debian 11, running the Linux kernel 5.10.0-17-686-pae. Yeah, you’re right, it’s an i686 still functional machine. The issue began suddenly, but once it started remained happening for hours with no signs to stop.
I checked the processes using “top” and soon found the culprits. They were:
- tracker-miner-f
- tracker-extract
- tracker-store
I have never seen these guys before, so, I started browsing the web for advisory… I found a good match in the thread tracker-miner-f taking over 100% of cpu. First, I learned that tracker-miner-f is Gnome’s file indexer. I had no idea about it. Anyway, I searched for any systemctl command to disable it, and found none. OK… so, I continued reading and figured out to uninstall these packages:
- tracker-miner-fs
- tracker-extract
- tracker
but I noticed a removal of any of them (or all of them) would impact nautilus; so, I dismissed the idea of uninstalling them.
Then, I emptied the cache of tracker:
rm -f .cache/tracker/*
but the issue came back later.
My online search for a solution to tracker-miner-f high CPU utilization, brought me to a bug report page, on bugs.debian.org. Then, I realized that I wasn’t alone suffering the issue. The bug report 1016745 is just 10 days ago from my troubleshooting, and, unfortunately, there is not yet a solution for it.
Workaround
I figured out a workaround to stop tracker continue consuming my CPU. I added a couple of lines in my crontab (user’s crontab) to kill any tracker processes. Check it out:
@reboot uptime tracker daemon -k all
* */2 * * * tracker daemon -k all
The first line “@reboot uptime tracker daemon -k all” will kill any tracker processes that started running right after a reboot. The next line “*/2 * * * tracker daemon -k all” will kill every two hours any tracker processes that might started after it was invoked to kill them at reboot time.
I think this could be improved to just a single line that kills any tracker processes, let me say, ten minutes after the reboot. I need to take time to accomplish this. Note: If you have a chance for doing this, please leave a comment on how you did.
This workaround for tracker-miner-f high CPU utilization, has proven effectively. Use crontab -e to edit your user’s crontab, add the lines, and this will stop tracker consuming your CPU.
Please leave a comment if you liked the workaround, and/or if you can improve it.