症状
系统几乎卡死,所有的程序,无论 GUI 还是命令程序均非常缓慢,系统中出现两个高 CPU 占用率的进程btrfs-cleaner
和btrfs-tranxxx
。
原因
默认情况下 Snapper 会自动根据快照的空间占用比例清理快照,该功能依赖 btrfs 的配额功能,然而 btrfs 的配额功能存在 性能问题。
Combining quota with (too many) snapshots of subvolumes can cause performance problems, for example when deleting snapshots.
解决方法
直接关闭 btrfs 的配额功能
btrfs quota disable /
可能的副作用
一句话:只要配置文件中快照的数量不是很多,不会导致问题。
Snapper 的配置文件中,保留的快照数量都是一个区间,(min, max)。如果害怕遇到问题,最安全、最保守的方法是:把 max 设置为与 min 一样。