Is there a way to increase the sync speed. It's running in single thread on raspberrypi connected with USB HDD.


top - 13:58:12 up 32 min,  2 users,  load average: 2.64, 1.74, 0.80
Tasks: 138 total,   1 running, 137 sleeping,   0 stopped,   0 zombie
%Cpu(s): 10.1 us,  2.6 sy,  0.0 ni, 56.3 id, 30.9 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem :   947732 total,   101584 free,   239716 used,   606432 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   623092 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND    
 1594 necktwi   20   0  345160 198200   7864 S  50.8 20.9   1:33.10 bitcoind 


NetHogs version 0.8.1

    PID USER     PROGRAM                    DEV        SENT      RECEIVED       
   1594 necktwi  bitcoind                   enxb82     0.234       1.388 KB/sec

actually, I have a bandwidth of 6MBps.

  1. Make sure you are connected to enough peers (maybe >4)
  2. Make sure you use either the default -par config value or you set it according to your available CPU cores (usually num of cores +1)
  3. Make sure, you have fast disk access (ideally SSD). If disk access is slow (don't use NFS, NAS, etc.), it could tear down the verification process (leaving your CPU partially unused)
  4. Try to change the default database cache size. A -dbcache of 4GB can really significant speedup the sync, though don't over-allocate if your system has not plenty of RAM to waste.

running bitcoind on a raspi is possible, but very slow (I have done that too, and search here in the forum, there are users who reported the experience). Calculate minimum 2 weeks until the whole blockchain is loaded, even more with a USB HDD.

For once each tx included in a block must be verified, that takes time - and you can see your process CPU usage is 50%. At the beginning blocks are small, then it is really fast, but then, over the last years blocks got full, and it takes time.

And also you have a USB HDD - bitcoind has to lookup data of already loaded blocks, so the speed of your disk connectivity defines the process duration. Have a look at your block I/O, that is probably the most limiting factor.

Maybe a fast SD Adapter card (>50MBytes/sec) and pruning is the better option. Still the initial load would take the CPU time...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.