想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!
问题场景
在启动以太坊geth同步数据的过程中会出现这样的问题,就是节点同步正常,日志没有报异常信息或者报出一些底层的类异常信息,随后geth节点进程自动关闭。
报异常信息类似于下面的异常:
geth sync goroutine 16678 [IO wait]:
……
goroutine 8 [chan receive, 4822 minutes]:
github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.(*nonrecursiveTree).internal(0xc420064360, 0xc420064300)
/home/bertrand/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/tree_nonrecursive.go:81 +0x94
created by github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify.newNonrecursiveTree
/home/bertrand/go-ethereum/build/_workspace/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/tree_nonrecur

本文分析了以太坊geth同步过程中自动关闭的问题,问题表现为节点在同步时无异常日志,但随后进程关闭。异常信息涉及IO等待和goroutine。原因排查发现,内存不足是关键因素,当内存吃紧时,系统触发oom-killer杀死高内存占用进程。解决方案包括升级服务器内存或增加swap分区。
最低0.47元/天 解锁文章
8251

被折叠的 条评论
为什么被折叠?



