2013-08-31 123 views
2

我在我的拱形流浪箱的$GOPATH中運行go build
但它打印出Golang:malloc堆初始化之前的恐慌

runtime: panic before malloc heap initialized 
fatal error: runtime: cannot allocate heap metadata 

和盒子是3.10.9-1-ARCH x86_64,內存242M。

爲什麼我不能在框中創建go文件?

在此先感謝。

回答

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分配給容器(如果可能)。