跳转至

go构建缓存过大的清理方法

问题现象

Linux 系统在经过批量的 go build 之后,出现根目录磁盘满的情 况,需要查明是哪个目录占用大然后进行清理。

环境信息

项目 说明
cpu 3A5000
系统 debian 10

解决方案

查询 / 占用情况

[root@bogon merore]# du -sh --exclude=/home/merore

由于家目录下挂载了一个远程文件系统,所以先忽略掉这个目 录,但是发现除了家目录,所有目录占用都不高

查看 /home/merore 占用情况

[root@bogon merore]# du -sh --exclude=/home/merore/workspace /home 
122G    /home

结果发现都不大,想起家目录下可能有隐藏文件

查看 /home/meore/.cache 占用情况

[root@bogon merore]# du -sh .cache
119G    .cache

[root@bogon .cache]# du -sh ./*
...
119G    ./go-build
...

至此可以确认是 /home/merore/.cache/go-build 占用大

  1. 清理 go 构建缓存
go clean -cache

总结

  1. du 可以使用 --exclude=dir 来排除某些目录
  2. go clean --cached 可以清理 go 构建缓存

参考链接