这是一个创建于 2490 天前的主题,其中的信息可能已经有所发展或是发生改变。
环境:Win10 x64,RAM 16GB
Bitcoin Core 0.15.1 x64
数据目录在 HDD 上,启用 txindex
本来启动一次钱包就够慢了,需要几分钟才能进界面,下载、验证区块看上去更是慢得让人抓狂……差不多一分钟才能验证一个区块。
用性能监视器看了一下,chainstate 和 blocks\state 两个目录的读写似乎非常频繁。
我猜是系统(或者 Bitcoin Core)比较笨,没有好好利用内存来缓存。
但是 state 目录似乎太大了,十几 GB。只有 chainstate 目录还不是太大,只有 3GB。
于是,我试了这个蛋疼的折腾方法:
1.在性能监视器里转到 CPU 选项卡,然后找到 bitcoin-qt.exe ,右键暂停进程;
2.用 cmd 把 chainstate 下的所有文件读一遍:
cd Bitcoin_data\chainstate
type *.* > nul 2> nul
大概需要二到五分钟执行完。毕竟是辣鸡 HDD 嘛。碎片整理一下看上去也能快一些。
3.这样文件差不多都被系统缓存了(任务管理器的内存里也能看到“已缓存”升高了),这个时候回到资源监视器,右键 bitcoin-qt.exe ,恢复运行。
效果貌似还是不错的……硬盘灯从常亮变成闪烁,区块验证时间也缩短到几秒钟到十几秒了。
也许用 SSD 当缓存会更快?我只知道有 PrimoCache 软件可以这么做,我还没试。
搜了一下,好像也有人把 chainstate 目录直接挪到 SSD 的。
还有设备管理器-硬盘属性里的写入缓存刷新,不知道关掉它有没有效果(不过关了风险就大了吧,万一异常关机了呢?不知道会不会损坏数据)。
此外,不知道对于从零开始同步的情况,又该采取什么策略?