btrfs process and desktop slowdown

Hi everyone,
Since yesterday at least, there are some btrfs processes (btrfs-transacti) which launch after login.
They use 100% of only one thread, but they slow dramatically and even stall the KDE desktop. The system is unusable for 10mn or so before the btrfs process ends.
Is there any way to fix this?

Things are getting worse. The btrfs-transacti process now runs at random times and freezes everything.
This is getting to the point where the KDE desktop is barely usable.
Am I the only one with this problem?

this process runs due to balance (setup by btrfs maintenance) and controlled by systemd timers (sudo systemctl list-timers and look when last balance occurred). On my system it takes about 10 mins to complete. There is a long standing bug on some systems that cause huge duration caused by having quotas enabled. You can google the issue and judge if this is the same symptom and cause.

Thanks for the answer.
Not sure I understand the whole extent of the explanation, but I have to change laptop soon anyway. I hope things will be better with a fresh installation.

I was having the same problem, and each day it got exponentially worse, rendering my system unusable moments after the slowdown started. I googled around several symptoms, and found an explanation that it happens after deleting large files, or a large quantity of files.

The recommended fix was to disable quotas. Some responders questioned why quotas were enabled by default in the first place. So I did these two commands as root since I had deleted a mass of files from both /mnt/BACKUP/ and */home *just prior to the beginning of the slowdown:

btrfs quota disable /mnt/BACKUP/
btrfs quota disable /home

Now several days have passed without any more slowdowns. For me it solved the problem.

It will possibly not get better: Btrfs needs regular housekeeping, which, at least with openSUSE, only occurs if, the system is continually running – which, in the case of a Laptop, is possibly not often.

Therefore, especially for the case of systems which are often shut down, my recommendation is:

  • Occasionally, execute the Btrfs cron jobs in ‘/etc/cron.weekly/’ and ‘/etc/cron.monthly/’ by hand - manually.