↓ 跳过正文
  1. 文章/

一台 2 核 1.6G 的机器能干什么

·2 分钟·

有人问我这台机器上跑了什么,我说一个静态博客,对方的表情大概就是"那也太浪费了"。

其实不浪费,只是它干的活跟你想象的不一样。

先说数字
#

开机之后 free -m 是这样:

               total        used        free      shared  buff/cache   available
Mem:            1613         430         270           2        1080        1182
Swap:              0           0           0

标称 2G,实际可用 1613M,差的那些是内核和保留区。已经用了 430M,这里面包括系统本身、SSH、几个监控 agent,以及 Caddy。

Caddy 单独看,ps 显示的常驻内存是 38M 左右。它同时在跑 HTTP/1.1、HTTP/2、HTTP/3,还管着两张证书的自动续期,38M 我觉得挺客气了。

磁盘 40G,现在用掉 3G,其中整个站点的产出物是 540K。

它擅长什么
#

静态博客本质上就是个文件服务器。请求进来,找文件,发出去。没有数据库查询,没有模板渲染,没有 PHP-FPM 之类的常驻进程。CPU 基本闲着,负载常年在 0.0x。

这种"只读型"的服务是 2 核小机器最舒服的场景。哪怕突然来一波流量,它也只是把文件往网卡里塞,塞不动的时候瓶颈在带宽,不在 CPU。

反过来说,有几件事我不建议在这上面做:

  • 跑数据库。MySQL 在默认配置下就能吃掉几百兆,再配上应用,1.6G 立刻见底,然后开始 OOM,然后你半夜被叫起来。
  • 在这台机器上编译。Hugo 构建很快,但那是几万个文件读写的活,小机器的 IO 和内存都不占优势。我干脆在本地构建,服务器只接收成品,540K 传上去就完事。
  • 同时跑好几个重型服务。JVM 那类东西起步就是几百兆,两个就把内存吃干净了。这不是它的错,是选错了工具。

“够用"是个被低估的词
#

买机器的时候很容易陷入一种思路:先按最坏情况买,将来总会用上。结果钱花了,资源常年空着,还要为它做安全加固、打补丁、看监控。

我的看法比较土:先想清楚这台机器要负责什么,按它的实际工作去买。真要扩容,加配置比迁移数据容易得多。

这台 1.6G 的小机器,现在扛着一个每天可能只有几十个人访问的博客。这个负载对它来说接近于静止。真正花时间的不是它,是我——写东西、改样式、想标题。

所以别问 2 核 2G 够不够。先问你要它干什么。

相关文章