你的硬盘可能已经满了
摘要
文章指出,无论硬盘容量多大,往往都会被填满,并以此类比软件优化、技术债务、个人日程安排等领域,建议通过施加人为限制来有效管理资源。
<p><a href="https://lobste.rs/s/wee5yh/your_harddrive_is_probably_full">评论</a></p>
查看缓存全文
缓存时间: 2026/07/25 20:07
# 你的硬盘大概快满了
来源:https://www.marginalia.nu/log/a_139_hdd/
我当前根分区只剩下 17 GB 空闲空间,总可用空间 0\.47 TB,也就是只有 3% 的空闲空间。
我还额外装了一块硬盘,12 TB,剩 140 GB 空闲。听起来好像不少,但实际上也只有 1% 左右。
你的硬盘**大概**也快满了吧。不一定挤得那么紧,但多半是更接近满而不是空。我在 Mastodon 上做了个投票,总共 81 人参与,大约一半的受访者硬盘使用率超过 75%。
在我印象中,几乎每次我的存储都是接近满的,得定期清理文件。
我翻倍扩充过很多次存储空间,从 90 年代的 80 MB 开始,到现在十几 TB,但大部分空间仍然被占着。
用来帮你找出该删哪些文件的工具早就存在了。这听起来像是废话,但问题是,人们过去有、现在也有这个需求。
硬盘总是很满,不管它多大。就算把存储扩大几个数量级,似乎也解决不了这个问题。
为什么?
你可以构建一个熵增论证:硬盘变满的方式比变空的方式多得多。如果我们假设大多数状态变化都是随机的,而不去刻意管理存储,那么系统自然会趋向于满盘。
我觉得这没毛病,但这解释并不完整。
问题的另一面是:满盘本身不是问题,直到它满到塞不下新东西。而且到了那种无可救药地杂乱的程度,清理时你也只会耐心清理到刚好够用,一个个判断每个文件的命运实在太累了。
这种现象很普遍,也是技术、社会和生活中很多悖论的根源。
在软件中:
* 我们不会去优化软件,直到它慢得受不了,所以软件总是有点慢。
* 我们积累技术债,直到和代码打交道痛苦到不得不重构(或者对新手来说,干脆重写)。所以大多数代码库都很乱。
在软件之外:
* 我们不扩建道路网络,直到堵得受不了。
* 我们不注意饮食,直到裤子穿不下。
我从全职工作变成自由职业,没有义务,没人管我做什么,但我感觉还是一样的忙,甚至更忙。我的日程表就像另一块硬盘,也满了。
在大多数情况下,等到我们撞上不得不面对问题的痛点时,解决问题就比一开始就处理变得麻烦得多。
同时,过早优化被认为是坏事。
我们该如何协调这两点?
解决方案或许是借助杰文斯悖论(Jevons paradox),主动施加真实约束来倒逼优化,这些约束要比所有可用资源的总和更小。
这在个人理财中非常明显——我们称之为“预算”——但其他地方却反复令人意外。
让我告诉你:如果你在树莓派上部署并用自己开发的软件,那么它在 Threadripper 上也会运行得很快。如果你能在 80x25 的终端里用 vim 浏览代码库,那么你在强大的现代 IDE 里也能。
资源和能力很微妙。直觉常告诉我们它们能让我们做到更多,但往往它们只是让同样的事花费更大代价而已。
相似文章
Saturation: How Your Software Will Fail at Scale
本文讨论软件系统在规模增长时因资源饱和而失效的现象,类比生物系统的极限,并介绍物理资源(CPU、内存、磁盘、网络)饱和和虚拟限制对系统可靠性的影响。
认知过载
关于管理多个AI智能体时所经历的认知过载的文章,将其与人类管理进行类比,并探讨即时反馈循环和无限资源可用性带来的挑战。
人类瓶颈
本文认为,AI增强人类生产力的潜力受到限制,因为人类缺乏严肃的使用情境,且受困于外部工具无法干预的内部瓶颈因素。
没人警告你,AI记忆存在六个月的悬崖期。我们过于专注于扩大记忆容量,却忘了让它变得可维护。真有人在解决这个问题,还是只是在增加存储空间然后寄希望于此?
这篇文章强调了AI记忆在六个月后变得不可靠的问题,出现矛盾和信息摘要漂移,并质疑业界是否专注于增加存储容量而非提升可维护性。
为什么队列不能解决过载(以及应该怎么做)
解释了为什么无界队列是软件系统中的一个bug,利用利特尔法则和浴缸类比说明队列只能吸收波动,而非持续负载。讨论了延迟死亡螺旋,并主张改用背压机制。