265 字
1 分钟
小内存服务器上跑服务的几点经验
一台 1G 内存的小鸡,跑了 nginx、两个 Go 写的小服务、一个 Telegram bot 和一堆 cron,一年多没重启过,内存稳定在 60% 左右。几点流水账经验。
swap 要给,但别太大
给 1G swap 图个安心,但 swap 不是内存不够的解药,是 OOM 的缓冲垫。如果 free 里 swap 用量持续上涨,说明该砍服务了,而不是加大 swap。
systemd 内存限制
[Service]MemoryMax=200M给每个服务设上限,谁漏内存谁死,别连累整机。Go 服务尤其要留意 RSS,默认 GC 策略在小内存机器上会多吃不少。
日志是隐形杀手
journald 默认不限制磁盘占用,小机器上务必设 SystemMaxUse=200M。nginx 日志记得 logrotate,access log 里全是扫描器流量的话,一个月能吃掉几个 G。
能不常驻就不常驻
很多”服务”其实一个 cron 脚本就能解决,cron 跑完就退,内存零占用。每次想装新东西前先问自己:它真的需要 7x24 在内存里呆着吗?
小内存服务器上跑服务的几点经验
https://oliver6868686.tech/posts/small-vps-tips/