如何限制 ~/.cache 文件夹的大小

如何限制 ~/.cache 文件夹的大小

我在容量有限的 SSD 上运行 Ubuntu,因此我会计算每 GB 的大小。现在,~/.cache 文件夹已增长到 1.7 GB(Chrome、Spotify 等各种应用程序已将其填满),现在我想知道是否有办法限制此缓存的大小?

我看见一些解决方案建议添加一个 cronjob 来使用一些 awk 技巧删除旧文件,但我不知道如果只是删除随机文件(或者这样可以吗?),所有这些应用程序会如何处理。此外,此解决方案不会递归搜索文件夹。

答案1

如果你要使用任何技术那个问题,我会选择 cron 作业中的 find 技术并对其进行修改以检查大小:

@daily    find /home/username/.cache/ -atime +7 -size 50M -delete

显然,可以尝试一下。您可能希望从查询中排除某些路径,因为其中.cache包含很多可能很难重新生成的内容(例如某些媒体播放器或照片查看器的缩略图)。

当然,另一种选择是tmpfs通过添加以下内容将所有内容转移到/etc/fstab

tmpfs        /home/username/.cache/    tmpfs   defaults,noatime,mode=1777   0  0

这会将所有内容存储在 RAM 中(在sudo mount -a重新启动后)。显然,这意味着一旦关闭电源,您就会丢失其中的所有内容。这可能只适合很少重新启动且具有大量 RAM 的台式机。

两者可以结合使用。


另一种选择是将缓存移至速度较慢、价格较低的介质。如果您的计算机中有足够空间容纳大型磁盘,那么这通常是一种快速简便的方法(使用符号链接或绑定安装)将缓存分散到多个磁盘上。

要么这样做,要么将其他不依赖速度的内容(例如文档,音乐等)移动到较慢的磁盘,从而为 SSD 上的缓存提供更多空间。

相关内容