git 一夜吃了 1.4G 内存:凌晨死机的法医鉴定
服务器凌晨 04:00 跑备份后挂起,SSH 黑洞、网站 530。法医鉴定:死前系统健康排除负载,syslog 里 OOM killer 三次杀掉同一个 git 进程(每次 1–1.4GB),凶手是备份脚本里的 git add/commit/push。而另一次死机死前毫无 OOM 痕迹,判给宿主机层——两次死机、两种死因,别把关联当因果。
找到 2 篇相关手记。
服务器凌晨 04:00 跑备份后挂起,SSH 黑洞、网站 530。法医鉴定:死前系统健康排除负载,syslog 里 OOM killer 三次杀掉同一个 git 进程(每次 1–1.4GB),凶手是备份脚本里的 git add/commit/push。而另一次死机死前毫无 OOM 痕迹,判给宿主机层——两次死机、两种死因,别把关联当因果。
备份仓库每天凌晨 git add 吃 1GB 内存把 3.4GB 的机器拖挂。根因不是配置参数,而是一行没写全的 .gitignore:写了 *.sql,拦不住 *.sql.gz。二十二个数据库转储加压缩包全进了版本库,.git 膨胀到 982M。修复是推倒重来加 force push:新库 5.1M,push 从卡死七分钟变成七秒。三条教训:通配符按字面匹配、旧大文件不会自己瘦、备份旧 .git 一定放仓库目录外面。