Ghostty作者的新终端Rex同时跑1万个会话,只占3.8GB内存
动察 Beating AI 快讯,Ghostty 作者 Mitchell Hashimoto 公布新终端 Rex 的扩展性测试。Rex 主打长期会话和远程连接,可以把终端任务留在后台持续运行。这次测试中,Rex 同时维持 1 万个活跃终端会话,内存占用约 3.8GB,交互仍能保持响应。团队暂时没有继续往上测,下一目标是 10 万个。 做到 1 万个以后,很多开销已经不是终端本身造成的。第一处瓶颈来自 Linux 的文件描述符表,也就是系统记录进程打开文件和连接的地方。终端会话超过约 5000 个后,每个新进程光这张表就会多占约 512KB,实际却只用了约 4 个文件描述符。Rex 现在加了一段 C 代码,把这部分空间缩回实际需要的大小。 另一个问题是线程。Rex 过去会让每个活跃终端会话各占一个线程等待数据,规模上来后内存开销太高。现在终端连续 2 秒没有读取活动,就会交给一个共享线程统一监听。
「查看原文」本内容旨在传递行业动态,不构成投资建议或承诺。