首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Raspberry Pi 3上安装geth -无法分配内存错误

在Raspberry Pi 3上安装geth -无法分配内存错误
EN

Ethereum用户
提问于 2017-02-16 17:52:17
回答 2查看 2.3K关注 0票数 1

我一直在使用这个剧本尝试在覆盆子Pi 3上安装geth。

它似乎工作正常,直到部分完成构建:

代码语言:javascript
复制
pi@raspberrypi:~/go-ethereum $ make geth
build/env.sh go run build/ci.go install ./cmd/geth
>>> /usr/lib/go-1.7/bin/go install -ldflags -X main.gitCommit=bdef758d5c6d397584d0c35e53d6f6c318e61351 -v ./cmd/geth
github.com/ethereum/go-ethereum/cmd/geth
# github.com/ethereum/go-ethereum/cmd/geth
/usr/lib/go-1.7/pkg/tool/linux_arm/link: running gcc failed: fork/exec /usr/bin/gcc: cannot allocate memory

util.go:43: exit status 2
exit status 1
Makefile:15: recipe for target 'geth' failed
make: *** [geth] Error 1

它的意思是cannot allocate memory -在SD卡上有~8 8GiB免费(1GB内存)。

有人能重新创建这个错误吗?有哪些调试/修复的技巧?

N.b.这个问题类似于杨梅(在Raspberry pi错误上安装ethereum节点)

此外,这里也报告了一个类似的问题:https://groups.google.com/forum/#!topic/cloud-print-connector/zF_xyViClLM

EN

回答 2

Ethereum用户

回答已采纳

发布于 2017-02-16 18:44:58

有哪些调试/修复的技巧?

这些建议并不是专门针对etc/Geth/等等的,但对于将来看到同样问题的人来说,它们可能是有用的。

这个错误是在抱怨缺乏记忆。(“内存”指的是RAM,而不是硬盘空间。)

代码语言:javascript
复制
/usr/lib/go-1.7/pkg/tool/linux_arm/link: running gcc failed: fork/exec 
/usr/bin/gcc: cannot allocate memory

即使您知道您的系统有多少内存,也可以先检查其中有多少是可用的:

  • free -h,或
  • cat /proc/meminfo | grep MemFree

如果有您认为还不够的内容,请评估哪些进程正在使用它,看看是否可以释放它们:

  • top,然后M按内存使用顺序。

一旦您选择了任何不需要的非关键进程,就关闭它们:

  • kill -15 <pid>,其中pid是进程id。

(请注意,我们使用的是信号号-15,它等同于SIGTERM,而不是-9,即SIGKILL。这样,我们就可以让进程得到信号的通知--如果它安装了处理程序--并优雅地清理。)

票数 2
EN

Ethereum用户

发布于 2017-12-21 15:16:20

FWIW我找到了这个答案:https://raspberrypi.stackexchange.com/questions/70/how-to-set-up-swap-space,并且能够在一个拥有512 MB内存的Rasp上编译和运行geth。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/12222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档