2

私はアーチの 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 ファイルをビルドできないのはなぜですか?

前もって感謝します。

4

1 に答える 1

2

これは、仮想メモリが不足していることが原因のようです

$ ulimit -v 242000
$ go build prog.go
runtime: panic before malloc heap initialized
fatal error: runtime: cannot allocate heap metadata

64bit go は大量の仮想メモリ スペースを必要としますが、必ずしもそれほど多くの実メモリは必要ありません

これは、コンテナーにより多くのメモリを割り当てることで修正できます。

の設定でも遊べます/proc/sys/vm/overcommit_memory

スワップをコンテナーに割り当ててみることもできます (可能であれば)。

于 2013-08-31T22:34:50.633 に答える