在 Linux 上清理 GitLab(尤其是 GitLab CE/EE 自托管服务) 的缓存,通常分为几种情况:GitLab 自身缓存、Redis 缓存、Runner 缓存、以及 Git 仓库对象缓存。下面按常见场景说明。
如果你是使用 Omnibus GitLab 安装(最常见):
sudo gitlab-ctl restart
清理 Rails 缓存(安全):
sudo gitlab-rake cache:clear
⚠️ 不要直接 flushall,除非你确定
查看 Redis 使用情况:
sudo gitlab-ctl status redis
安全清理 GitLab Redis 缓存:
sudo gitlab-rake cache:clear
如果必须手动清理(谨慎):
sudo gitlab-redis-cli flushall
⚠️ 会导致 session、CI 状态临时丢失
如果你用了 GitLab Runner:
默认:
/var/cache/gitlab-runner
sudo rm -rf /var/cache/gitlab-runner/*
或在 .gitlab-ci.yml 中:
cache:
paths:
- node_modules/
手动清理特定 job 缓存:
sudo gitlab-runner verify --delete
sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files
sudo gitlab-rake gitlab:cleanup:project_uploads
清理仓库松散对象:
sudo gitlab-rake gitlab:git:fsck
docker system prune -a
sudo apt clean
sudo journalctl --vacuum-time=7d
| 场景 | 命令 |
|---|---|
| 页面缓存不更新 | gitlab-rake cache:clear |
| CI 卡住 | 清理 Runner 缓存 |
| 磁盘爆满 | 清理 artifacts + Docker |
| Redis 异常 | flushall(谨慎) |
如果你能说明:
我可以给你更精确的清理方案。