私はアーチの 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 ファイルをビルドできないのはなぜですか?
前もって感謝します。
これは、仮想メモリが不足していることが原因のようです
$ 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
。
スワップをコンテナーに割り当ててみることもできます (可能であれば)。