美文网首页以太坊开发
服务器geth同步区块被killed问题解决方案

服务器geth同步区块被killed问题解决方案

作者: 蔡得不敢吱声 | 来源:发表于2018-01-09 03:51 被阅读41次

    折腾了几天的心酸史记录一下希望能帮到遇到一样问题的朋友。

    挂着服务器同步以太坊区块,到400万block以后老是挂。我也是够虎逼的,其实第一次geth挂的时候看到了服务器打出来“Killed” ,我无视了 继续挂着搞。到后面就是几分钟挂一次,我手动重启也搞烦了,索性写了个定时任务1分钟检查一次geth进程挂了没有,挂了拉起了续命。好了,就是这个强行续命,搞得我后面几天都在错误的方向挣扎。

    强行续命,还真把区块同步续到了99%(差不多), 但是到了这里,currentBlock开始不动了,knownStates每次一挂重启就变成0再看着knownStates慢慢涨到100万左右又挂,又续命重启变成0  无限循环。。。

    经过上面geth一系列捣蛋的跳数字,去geth的issue里面看,发现还真不少和我一样问题的。照着里面有人的方法都失败了。

    只有自己来了

    从哪开始异常的? 刚开始我以为killed是geth自己输出的, 思考了一下:这好像是kill 进程的输出。。。 然后:cat /var/log/message |grep geth。

    尼玛,原来真是触发OOM了。日了狗了, 我同事还给我说人在树莓派上都能装上, 我这几天都怀疑人生了。

    问题找到了,内存不够,两种方案 1.  换台高配机器   2.  划分/扩充swap分区(用来放内存溢出的)

    我选2:

    用硬盘空间开一块swap空间

    1.  先看看已经存在的swap分区(有可能什么没有: sudo swapon --show

    2. 看下哪里空间够:df -lh

    3. 我选的根目录创建一个1G文件: sudo fallocate -l 1G /swapfile

    4. sudo mkswap /swapfile

    5.使用:sudo swapon /swapfile

    6.看看生效没:sudo swapon --show   和 free -h

    对了,我的geth版本是1.7.0,  因为 1.7.3/2/1我都试遍了。

    没了,不提。

    相关文章

      网友评论

        本文标题:服务器geth同步区块被killed问题解决方案

        本文链接:https://www.haomeiwen.com/subject/rnainxtx.html