PSA: Timeshift Snapshots and Snapper, high IO with btrfs-transation and btrfs-cleaner

Hey y'all - not sure if this is a universal experience but wanted to share what I just contended with, now that Garuda Assistant has been updated and the subvolume tab will allow you to delete the Timeshift snapshots.

Apparently, I had qgroups enabled, when I had Timeshift installed, as the GUI had indicated it is a recommended setting. Now that Garuda Assistant can delete the Timeshift snapshots, which I did, I started to notice an extreme lag on the machine. Keyboard shortcuts would take 10s of seconds to execute, or windows would take 10s of seconds to load. So, I ran sudo iotop and noticed that both btrfs-cleaner and btrfs-transaction were collectively utilizing about 99-100% IO.

A LOT of google fu and reading up on this forum in particular indicated that this usually happens after clearing up snapshots....some more google fu and all the recommendations stated to make sure quotas were disabled. Since I'm no longer using Timeshift, the bug that existed specifically with Timeshift no longer applied to me, so I went ahead and ran sudo btrfs quota disable / then confirmed with sudo btrfs qgroup show / indicated quota groups are disabled.

Nearly immediately, btrfs-transaction and btrfs-cleaner dropped off the IO list.

Not sure if that actually helped me, but I'm noticing a far snappier and responsive desktop experience now, and thought I'd share my experience in case others have the same problem. Anyone think I did something stupid? LOL

1 Like

It's a universal experience, and why it's not recommended to use qgroups unless you need quotas, and another reason why Garuda has migrated to Snapper.

The other thing you can do is occasionally run a btrfs balance to redistribute metadata; this is useful if you regularly create and delete snapshots, but should be less of an issue now with the Snapper-based approach.

3 Likes

LOL Thanks for confirming. There's a Timeshift screenshot on this thread which triggered my memory that I most definitely toggled on qgroups since it said "recommended" in Timeshift:

The bug referenced here:

No longer seems to apply to those using Snapper, so thought it would be safe to manually disable quotas via commandline - and that helped with the HDD churn/IO.

4 Likes