跳到正文
Hacker News· bobsoap·· 3 天前AI 评分16

RAM-Altman:每天给 Sam Altman 发一封邮件,报告你电脑里闲置的 RAM

RAM-Altman reports unused RAM on your machine, one email a day

AI 导读

一个名为 RAM-Altman 的 bash 脚本会在机器可用 RAM 超过 10% 时,每天向 Sam Altman 发送一封邮件,报告闲置内存情况。脚本每 5 分钟采样一次,正确统计 page cache,最多每日发信一封,并轮换 8 个主题、10 条正文和 6 个落款,附带 14 个测试。

正文 · AI 翻译

一个每天给 Sam Altman 写一封信、汇报他错过的 RAM 的 bash 脚本。

在 ram-altman.lol 阅读示例邮件,无需安装。

Website: ram-altman.lol Global DRAM allocation: quite terrible Utilization: maybe 5% Emails: 1 per day Written in Bash, not Electron

你的电脑里有 RAM。就在此刻。就那样待在一台个人电脑里,很个人。

你可能一直把这当作“电脑正常工作”。在最近一期 Cheeky Pint 节目中,OpenAI 的 CEO 提出了另一种看法:

“从全球分配的角度来看,实际上,让每个人都把世界上有限的 DRAM 供应中的一部分放在自己的电脑里,是相当糟糕的”

—— Sam Altman

他补充说,那些 RAM “可能只有 5% 的时间在被使用”。

这对某类人来说引出了一个显而易见的问题:总该有人来监控这个吧?

于是我们写了一个脚本。如果你的机器有超过 10% 的 RAM 可用,它每天发一封邮件让 Sam 知道。这似乎才公平。如果没人告诉他 RAM 在哪,他也没法解决问题。

功能

  • 跟踪总 RAM、已用 RAM 和可用 RAM,以及你在全球分配当局那里的信誉状况
  • 正确处理页缓存,这一点已经让它领先于大多数关于 RAM 的争论
  • 每天最多发一封邮件,因为我们是囤积者,不是野兽
  • 轮换 8 个主题行、10 条正文和 6 个落款,让这个笑话以精心管理的节奏慢慢变老
  • 把每次采样记录到 CSV,以备审计人员到来
  • 附带 14 个测试,比 DRAM 市场有过的合理结果还多
  • 用 bash 编写,因为 Electron 版本会通过用光所有 RAM 来解决问题

今日通信样例

Subject: You missed a spot

Hi Sam,

Please don't be alarmed, but there is 8.6 GiB of RAM on my desk that isn't in
a data centre. That's 56.2% of what's installed here, and as far as I can tell
it has no plans today.

Hoarding responsibly,
A concerned RAM owner

--
Sent automatically, at most once a day, by a small script on one PC.
Reply if you'd like it to stop.

这些数字是真实的。它们来自你的机器。这才是令人担忧的部分。

什么算作“已用”?

used = MemTotal - MemAvailable

MemAvailable 是内核自己对程序在不换页的情况下能占用多少内存的估计。空闲 RAM 算作可用。内核可以回收的缓存也算。tmpfs 和共享内存不算,因为它们不能简单地交还。

每个系统管理员都花了好多年解释 Linux 没有吃掉你的 RAM,以及空闲 RAM 就是浪费的 RAM。花了几十年才有一位重要人物同意后半句,而他想让它被寄给他。

严格来说,页缓存是在做有用的工作,所以把它算作可用是对另一方的慷慨让步。就当这是认罪协议吧。

在低于 3.14 的内核上,没有 MemAvailable,脚本会根据空闲内存加上可回收缓存来估算。如果你用的是这类内核,你的 RAM 可能是安全的。没人会来要它。

安装

你需要 Linux、bash,以及可用的 sendmail、msmtp 或 mail 命令。你的 RAM 是默认存在的。

git clone https://github.com/IainKay/ram-altman.git
cd ram-altman
chmod +x ram-altman.sh test-ram-altman.sh

./ram-altman.sh --status    # see the evidence against you
./ram-altman.sh --dry-run   # preview an email without sending it

示例输出,来自一台已经全盘招供的模拟机器:

Total:      15.3 GiB
Used:       6.7 GiB
Available:  8.6 GiB (56.2%)
  Free:     0.3 GiB
  Cache:    8.2 GiB

要真正运行它,用 crontab -e 把下面这行加到你的 crontab 中:

RAM_ALTMAN_TO=recipient@example.com
RAM_ALTMAN_FROM=you@example.com
RAM_ALTMAN_FROM_NAME=Your Name

*/5 * * * * /path/to/ram-altman.sh

它每五分钟采样一次,每天最多发一封邮件。如果发送失败,它会在下次运行时重试,因为这条消息很重要。

设置 作用 默认值
RAM_ALTMAN_TO 谁收到坏消息 必填
RAM_ALTMAN_FROM 一个你可以用来发送的真实地址 必填
RAM_ALTMAN_FROM_NAME 你的名字,或你的 RAM 化名 可选
RAM_ALTMAN_THRESHOLD 当可用 RAM 高于此百分比(整数)时发邮件 10
RAM_ALTMAN_STATE_DIR 日志和状态文件所在位置 ~/.local/state/ram-altman

自我审计

让它运行一段时间,然后看看你的机器表现如何:

awk -F, 'NR>1 { used += $3; total += $2 }
  END { if (total) printf "Your RAM in use: %.1f%% (the claim: maybe 5%%)\n", used * 100 / total }' \
  ~/.local/state/ram-altman/usage.csv

是的,内存使用占比和在用时间占比不是一回事。如果你是来指出这一点的,欢迎来到 Hacker News。很高兴你在这里。

请做个好邻居

一个人一天发一封邮件是个笑话。一万封就是一次拒绝服务攻击,只不过素材更好。

  • --dry-run 是享受这一切的最佳方式。它不花一分钱,所有笑话都在里面。
  • 这个仓库不附带任何人的邮箱地址,也请不要添加。
  • 请使用你自己的真实地址。不要伪造,也不要把它跑遍你的服务器集群。
  • 如果有人让你停下,就停下。每封邮件的页脚都承诺了这一点,所以请信守承诺。

你也可以把它指向一个会乐在其中的人,比如那位一直在等 DDR5 降价的朋​​友。

常见问题

这能缓解 DRAM 短缺吗? 不能。

这是个严肃的工具吗? 内存核算部分是。通信部分不是。

它能在 macOS 上运行吗? 不能,它读取的是 /proc/meminfo。另一方面,你的内存大概是焊死的,这让你成为全球分配计划中最难攻克的目标。

为什么阈值是 10%? 低于这个值,你的机器已经受够了。

运行它会占用内存吗? 短暂占用。之后会归还到全局池中,这一点比我们其他人强多了。

我可以在不给人发邮件的情况下运行测试吗? 可以。./test-ram-altman.sh 使用模拟内存和一个假的 sendmail。没有收件箱受到伤害。

我能在不安装任何东西的情况下看到它吗? 可以。ram-altman.lol 会循环展示真实的邮件,并附有示例数据。

我该拿这么多内存做什么? 再开一个浏览器标签页。你还有时间。

为 Sam 说句公道话

Altman 后来表示那些言论被断章取义了,他写道:

“我其实确实希望这个世界拥有海量内存,希望人们想往电脑里塞多少就塞多少”

他接着补充说“我希望你拥有超多内存”和“让我们造更多”,还一度把他在 X 上的显示名改成了 Ram Altman,这客观上非常棒,也是这个项目名字的由来。

最初的言论出现在一场关于本地运行 AI 模型的讨论中,而利用率这个论点确实成立:服务器确实比你的台式机更忙。我们只是觉得用 cron 来回复更好笑。

再说,如果他想让你拥有超多内存,那这个脚本根本就不是抱怨。它是一份每日进度报告。

许可证

自由如未分配。

来源:Hacker News · github.com

相关事件