我在我的Arch Vagrant框的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文件?
提前致谢。
答案 0 :(得分:2)
看起来这是由虚拟内存不足造成的
$ ulimit -v 242000
$ go build prog.go
runtime: panic before malloc heap initialized
fatal error: runtime: cannot allocate heap metadata
64位需要大量virtual memory space but not necessarily that much real memory。
您可以通过为容器分配更多内存来解决此问题。
您还可以使用/proc/sys/vm/overcommit_memory
。
你也可以尝试将swap分配给容器(如果可能的话)。