环境:
- 腾讯云 1核1G
- Linux VM_0_16_centos 3.10.0-693.11.6.el7.x86_64
- gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
- go version go1.9.4 linux/amd64
问题描述
这是什么鬼!?
# go install
go build goim/logic: /usr/local/go/pkg/tool/linux_amd64/link: signal: killed
从来没有见过这样的错误!!!
go build signal: killed #32
Google 之后再 github 找到了类似错误信息的讨论 https://github.com/beego/wetalk/issues/32。
Just in case, this happened me few times when memory ran out. Usually when running go build/get in a VM with 512MB or less, or in docker container with limited and low RAM. ——korya commented on 12 Nov 2014
解决办法
原来是服务器上的内存都用快光了
# free -h
total used free shared buff/cache available
Mem: 992M 401M 73M 160M 517M 213M
Swap: 0B 0B 0B
把服务器上吃内存多的服务停掉, 例如 Kafka 。。。
释放内存到 512 M 内存以上了, go install 就成功了
总结
编译比较大型的 go 项目时内存空闲最好保持在 1GB 或更多 !!!! 7 (- 人 -)
Done.