Golang:在malloc堆初始化之前发生恐慌

时间:2013-08-31 14:40:28

标签: go vagrant archlinux

我在我的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文件?

提前致谢。

1 个答案:

答案 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分配给容器(如果可能的话)。