新手问答 运行中出现 database dirty flag set 有什么好的快速的恢复的方法吗?

sugeladi · August 24, 2018 · Last by sugeladi replied at November 13, 2018 · 8343 hits

今早起来发现节点不同步了,登录了机器查看,nodeos的进程不在了,于是重新启动,发现一下错误:

database dirty flag set (likely due to unclean shutdown): replay required

这样的话只能 --replay-blockchain 嘛?


还没有EOS帐号? 来这里创建一个吧.

(此提示与本文内容无关)

共收到 10 条回复

目前看来只能 --replay-blockchain

strahe 回复

嗯嗯 官方有那种同步好的区块嘛?

Surou 回复

是的,感谢!

Surou 回复

请问有centos7版本的离线包嘛?

sugeladi 回复

没有,可以的话,还是建议用 ubuntu ,因为大多数都在用,方便数据复制,EOS官方和社区 针对ubuntu的测试也是最多的

Surou 回复

嗯嗯,写了段脚本,4C16G的机器,mem到20%就重启,目前很平稳

echo -e  '\n\nstart,date:'`date`
#获取cpu使用率
cpuUsage=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $3}'`
#获取内存情况
mem_total=`free -m | awk -F '[ :]+' 'NR==2{print $2}'`
mem_used=`free -m | awk -F '[ :]+' 'NR==2{print $3}'`
#统计内存使用率
mem_used_persent=`awk 'BEGIN{printf "%.0f\n",('$mem_used'/'$mem_total')*100}'`
#获取报警时间
now_time=`date '+%F %T'`

function check(){
        echo "内存使用: $mem_used --> 内存总量:${mem_total}"
        echo "CPU使用率:${cpuUsage}% --> 内存使用率:${mem_used_persent}%"
        if [[ "$cpuUsage" > 20 ]] || [[ "$mem_used_persent" > 20 ]];then
                echo "报警时间:${now_time}"
                echo 'restart'
                fn_restart_eos
        fi
}
function main(){
        check
}
sugeladi 回复

这个脚本需要时不时手动执行这个脚本么?还是已经包含定时任务的吗?

yanrongxing 回复

crontab 跑的

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up