我担心该~/.cache
目录有两个原因:它会导致我的 SSD 不必要地进行大量写入,并且它包含有关加密容器和外部驱动器中文件的信息(如图像缩略图)。
我把它放在一个 tmpfs 中,里面有一行fstab
。它运行没有问题,直到它变满:这会导致某些程序出现错误消息。
我认为 中的文件.cache
不应该是持久的(类似于/tmp
),这就是我使用 tmpfs 的原因。所以我写了一个脚本,由 运行cron
,.cache
如果 tmpfs 已满,它每小时清理一次。
但这会导致tracker
无法找到其数据库的错误消息。
这让我怀疑这个目录真的不应该是持久的。把它放在 a 中是个好主意tmpfs
吗?
是的,所以如果缓存包含跟踪器数据库,那么当您“清理”它时,您将再次重建它(在费力地扫描所有文件之后)。所以我不认为这是一个好主意。
根本问题是您有(组合)软件写入有限的文件系统,它没有观察到可用空间:(。
我相信 Fedora 过去/tmp
使用 tmpreaper进行管理,它会删除旧文件。从理论上讲,一些应用程序开发人员可能已经预料到该模型。在实践中 - 人们只是不会对 ~/.cache 这样做,所以你可能会遇到一些未经测试的极端情况。例如,我注意到这ls -l --time=atime ~/.cache/tracker
显示出相当多的变化,所以我担心这不能保证很好地工作。
许多最重要的软件都会有一些可配置的限制。但这不是一个很好的解决方案,必须单独配置每个,为每个分配固定数量的可用空间(或 0)。
我想它可能对网页浏览有用,例如允许 100M 以确保您避免重新下载最近的图像和代码。(实际上我怀疑 Firefox 的默认“自动缓存管理”会避免填充文件系统本身)。
您可以为一些“列入白名单”的软件(使用符号链接重定向它们)拥有一个单独的 tmpfs,您相信这些软件不会填充它/已为其分配了固定空间,并让其他软件遇到空间错误(和被您现有的系统粗暴地清理)。
我建议如果您负担不起标准的磁盘缓存,那么您确实需要更改为仅支持选定软件的缓存,然后仅对其他所有内容运行损坏限制。“如果”是这里的重要词。
(或者:如果您使用的特定软件在重要因素上超过了最常见的软件,那么也许您是对的,您需要包含该特定软件)。
好吧,如果我们谈论的是具有可以运行 Windows 的最小 eMMC 的廉价上网本,那么是的,您有点搞砸了。您可能需要监控您的磁盘空间使用情况、您的软件、限制和禁用自己。如果您需要使用这种失控(组合?)软件,tmpfs 可能是包含一些对磁盘缓存的写入的有用部分。但是您需要确定特定的软件。
然而,对于通常以“SSD”(而不是“eMMC”)的形式出售的设备,目前的起始容量为 128-256GiB,最常见的软件根本不会引起任何问题。如果您希望得到数据、测试、可靠来源等支持的通用保证,谷歌是您的朋友——有一大堆有趣的文章。就我个人而言,我希望能够监控使用情况,以获得总体思路。我认为这里有一些有用的工具。
tune2fs -l /dev/...
在给定的 ext4 文件系统上查看“终身写入”。不幸的是 btrfs 似乎不支持这一点。/sys/block/<dev>/stat
. 第七列表示对设备的 512 字节写入次数。我想您可以定期在关闭脚本中记录此内容。sudo atop
可以在磁盘模式下显示每个进程的磁盘写入。例如,如果您按“d”,它将显示自启动以来每个进程的累积写入。几秒钟后,它将更改为显示最后一个间隔。 FIXME大概有更好的方法,例如保持显示累积数字的顶部。我在 cron 下使用 tune2fs 运行了一个脚本以附加到日志文件,并观察到每天有 1-4GB 的写入量。这比我真正想看到的要高,但考虑到驱动器的额定寿命写入,这对我来说没有问题。它应该可以使用十多年,届时它将超出保修期并且无论如何都需要更换。即使您不打算在驱动器超出保修期之前更换 - 额定寿命也必须保守;它不会立即死亡。测试表明,驱动器的使用寿命比其额定值长许多倍。
你确实备份了,对吧?您不依赖于异常没有硬件故障来确保任何关键数据的生存。
归档时间: |
|
查看次数: |
4010 次 |
最近记录: |