Hi Guest

More contents, please log on!

Bitmere.com 区块链技术 Content
1.我是个用机械硬盘跑节点的屌丝,所以我碰到的瓶颈主要体现在磁盘IO上。
具体体现:Win10任务管理器里,可以直接看到Bitcoin Core贡献了100%的磁盘使用率。
如果你有大SSD,那瓶颈可能在别的地方吧,比如CPU/网络/内存等。
哦对了,内存也是越大越好,我的机器有16GB内存,哈哈。顺便说一下,CPU太渣也可能成为瓶颈哦,毕竟要计算hash、验证数字签名。这方面似乎是高主频比多核更有帮助?我没仔细验证过。
(额,说来说去好像就剩显卡没啥需求,哈哈)

2.先说说相对方便傻瓜的,可以试试PrimoCache这个软件,用它开一个缓存,效果还是蛮明显的。不过这个软件是收费的,有试用时间限制。
我开的是read/write混合缓存,延迟写入调到INFINITE,记得软件显示的命中率有40%吧。也许有大神知道怎么设置参数能更高效,望赐教。


3.另一个优化途径:chainstate这个目录是被艹得比较狠的地方,这一点Pieter Wuille大神也提到过(https://bitcoin.stackexchange.co ... #comment56388_48618
如果你有SSD,可以把chainstate目录拷到SSD,然后利用NTFS Junction建立一个链接。
如果你没有SSD,但是有大内存,可以用ImDisk开一个内存盘(RAMDisk)。目前的chainstate目录大概占用3GB,所以RAMDisk开4GB的内存盘应该就够用了。
比如,你的全节点数据目录在D:\Bitcoin\data,那么:
  • 1.先关掉全节点
  • 2.然后把D:\Bitcoin\data\chainstate整个复制到SSD/内存盘(这里举例用盘符S:),比如复制到S:\Bitcoin\chainstate
  • 3.复制完后,删掉D:\Bitcoin\data\chainstate
  • 4.打开D:\Bitcoin\data,按住SHIFT,右键点空白处,有在此打开命令提示符/在此打开PowerShell窗口,点开
  • 5.输入命令,创建链接:
  • mklink /j chainstate S:\Bitcoin\chainstate
  • 6.确认无误后,再启动全节点
还有blocks目录下的index目录,似乎读写也比较频繁,但是这个目录非常大,想塞进RAMDisk可能不容易。
还有安全警告:内存盘一旦掉电就会丢失所有数据,所以,除非你用的是笔记本电脑,有电池,或者有UPS后备电源,否则慎用。


4.上面这些方法应该不算正道……正道是把数据库缓存(钱包图形界面的设置里,对应注册表HKEY_CURRENT_USER\Software\Bitcoin\Bitcoin-Qt\nDatabaseCache,十进制代表缓存MB数)尽量调大。


5.这里还有提到其他优化方法:
https://bitcoin.stackexchange.co ... n-qt-very-slow-0-01
比如,如果你是从零开始同步的,可以暂时设置-listen=0禁止传入连接,等到同步完再去掉这个参数重启。

BitMere.com is Information release platform,just provides information storage space services.
The opinions expressed are solely those of the author,Does not constitute advice, please treat with caution.
You have to log in before you can reply Login | 立即注册

Points Rules

Write the first review

温室小书生室d 初中生
  • Follow

    0

  • Following

    0

  • Articles

    13

Promoted