在 CentOS 上配置或编译 Golang 项目时感觉“很慢”,通常不是 Golang 本身的问题,而是环境、网络或系统配置导致的。下面按常见原因给你排查方向和解决办法。
go mod download 慢 / 卡住CentOS 服务器访问 proxy.golang.org 经常超时。
✅ 解决办法(强烈推荐):
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=off
或:
export GOPROXY=https://goproxy.cn
CentOS 默认 DNS 可能很慢,导致连接超时。
✅ 检查:
cat /etc/resolv.conf
✅ 推荐改成:
nameserver 223.5.5.5
nameserver 8.8.8.8
GOPATH / GOMODCACHE 在慢磁盘上比如放在:
✅ 查看:
go env GOPATH GOMODCACHE
✅ 建议放到本地 SSD:
go env -w GOMODCACHE=/data/go/mod
编译 Go 很吃内存,内存不够会狂用 swap。
✅ 查看:
free -h
✅ 解决:
swapoff -a
CentOS 默认开启 SELinux。
✅ 临时关闭测试:
setenforce 0
✅ 永久关闭:
vi /etc/selinux/config
SELINUX=disabled
老版本模块系统慢。
✅ 建议:
go version
至少用 Go 1.18+,推荐 1.20+
Go 会缓存依赖,第一次慢,后面快。
✅ 查看缓存:
go clean -cache
go build
go build -p 4
如果你是在:
常见原因:
✅ 建议:
go env GOPROXY
go env GOMODCACHE
free -h
cat /etc/resolv.conf
go version
如果你愿意,可以告诉我:
go build 慢还是 go mod 慢我可以直接帮你定位到具体原因。