温馨提示×

如何清理linux gitlab缓存

小樊
39
2026-10-22 00:42:28
栏目: 智能运维

在 Linux 上清理 GitLab(尤其是 GitLab CE/EE 自托管服务) 的缓存,通常分为几种情况:GitLab 自身缓存、Redis 缓存、Runner 缓存、以及 Git 仓库对象缓存。下面按常见场景说明。


一、清理 GitLab 应用缓存(官方推荐)

如果你是使用 Omnibus GitLab 安装(最常见):

sudo gitlab-ctl restart

清理 Rails 缓存(安全):

sudo gitlab-rake cache:clear

二、清理 Redis 缓存(GitLab 使用 Redis)

⚠️ 不要直接 flushall,除非你确定

查看 Redis 使用情况:

sudo gitlab-ctl status redis

安全清理 GitLab Redis 缓存:

sudo gitlab-rake cache:clear

如果必须手动清理(谨慎):

sudo gitlab-redis-cli flushall

⚠️ 会导致 session、CI 状态临时丢失


三、清理 GitLab Runner 缓存

如果你用了 GitLab Runner:

1. 查看 Runner 缓存目录

默认:

/var/cache/gitlab-runner

2. 清理缓存

sudo rm -rf /var/cache/gitlab-runner/*

或在 .gitlab-ci.yml 中:

cache:
  paths:
    - node_modules/

手动清理特定 job 缓存:

sudo gitlab-runner verify --delete

四、清理 Git 仓库对象缓存(推荐定期做)

sudo gitlab-rake gitlab:cleanup:orphan_job_artifact_files
sudo gitlab-rake gitlab:cleanup:project_uploads

清理仓库松散对象:

sudo gitlab-rake gitlab:git:fsck

五、清理 Docker / 构建缓存(如果用 Docker)

docker system prune -a

六、清理系统级缓存(可选)

sudo apt clean
sudo journalctl --vacuum-time=7d

七、常见场景总结

场景 命令
页面缓存不更新 gitlab-rake cache:clear
CI 卡住 清理 Runner 缓存
磁盘爆满 清理 artifacts + Docker
Redis 异常 flushall(谨慎)

如果你能说明:

  • GitLab 安装方式(Omnibus / Docker / 源码)
  • 具体现象(页面慢?CI 失败?磁盘满?)

我可以给你更精确的清理方案。

0 踩