我go build
在$GOPATH
我的拱形流浪者盒子里跑。
但它打印出来
runtime: panic before malloc heap initialized
fatal error: runtime: cannot allocate heap metadata
而且盒子是3.10.9-1-ARCH x86_64
,内存242M。
为什么我不能在盒子里构建 go 文件?
提前致谢。
看起来这是由于没有足够的虚拟内存造成的
$ ulimit -v 242000
$ go build prog.go
runtime: panic before malloc heap initialized
fatal error: runtime: cannot allocate heap metadata
64 位 go 需要大量虚拟内存空间,但不一定需要那么多真实内存。
您可以通过为容器分配更多内存来解决此问题。
您也可以使用/proc/sys/vm/overcommit_memory
.
您也可以尝试将交换分配给容器(如果可能)。