一台 2 核 2G 的服务器,能同时跑机器人和博客吗
买服务器的时候只打算跑一个 QQ 机器人。后来博客、文件管理器、监控脚本、Nginx 反代一样样加上去,内存成了最紧的资源。把账算清楚,才知道这台小机器的边界在哪。
内存明细
free -h 的真实读数:
总量 1.7 GiB,已用约 560 MiB,可用约 980 MiB逐项拆解:
| 进程 | 内存 | 干什么 |
|---|---|---|
| QQ 客户端(8 个进程合计) | 约 660 MB | 协议端本体,最大头 |
| Node(Agent 主程序) | 98 MB | 机器人的大脑 |
| Xvfb(虚拟显示) | 64 MB | QQ 客户端必须有显示环境 |
| Nginx + PHP-FPM | 约 60 MB | 博客 |
| 文件管理器 | 23 MB | 网页文件管理 |
| 系统与其余 | 约 100 MB | SSH、cron、fail2ban 等 |
三个判断
一,QQ 客户端占了三分之二。 而且它是桌面上拆出来的完整客户端,不是精简协议实现——它的内存用量基本没有压缩空间。这是这套架构的固定成本。
二,PHP 博客几乎可以忽略。 Typecho + SQLite 的组合在这台机器上只占几十 MB。WordPress 加 MySQL 是另一个量级,当时没选它是对的。
三,真正要注意的是"加东西"。 每个新服务看似只占几十 MB,但 2G 总量下没有缓冲。装文件管理器之前我特意测过:装完可用内存从 982 掉到 930,还在安全线内。如果当时图省事装个宝塔面板(自身 200-300MB,还会拖一套 LNMP 环境),现在就接近红线了。
固定成本与可变成本
这台机器的成本结构很清晰:
固定成本:QQ 客户端 660MB —— 谈不下来,是门票钱
可变成本:其余所有服务 —— 每个都要过"值不值"的审可变成本的审批标准就一条:它提供的能力,现有服务给不了吗? 文件管理器过了审(SSH 上传对非技术使用者太麻烦),宝塔没过(它的能力和现有工具重叠九成)。
边界在哪
现在的余量大约还能再装一个 300MB 级别的服务(比如浏览器里的 VS Code),或者两三个 50MB 级别的小工具。再往上就要做选择题了。
有一条红线已经踩过一次:协议端在内存压力下会被 OOM 杀掉,而它是所有服务里最重要、也最娇气的(重启可能触发风控,要人工扫码)。所以宁可让博客慢点,也要给它留足余量。
结论
2 核 2G 能跑这套组合,前提是每一件东西都经过挑选。这个配置不是"什么都能装",而是"装什么都要想清楚"。
小机器的好处也在这里:资源约束逼着你把每个决策做明白。等哪天内存报警成了常态,那就是该升级的信号——而不是该再塞一个服务的信号。