<p>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. </p>

<p>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.</p>

<p>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. </p>

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

CC BY-SA 3.0
2018-01-17T09:19:23.170Z
2018-01-17T09:19:23.170Z
pebwindkraft
<ol>
<li>Make sure you are connected to enough peers (maybe >4)</li>
<li>Make sure you use either the default <code>-par</code> config value or you set it according to your available CPU cores (usually num of cores +1)</li>
<li>Make sure, you have fast disk access (ideally SSD). If disk access is slow (don't use NFS, NAS, etc.), it <em>could</em> tear down the verification process (leaving your CPU partially unused)</li>
<li>Try to change the default database cache size. A <code>-dbcache</code> of 4GB can really significant speedup the sync, though don't over-allocate if your system has not plenty of RAM to waste.</li>
</ol>

CC BY-SA 3.0
2018-01-17T08:06:48.110Z
2018-01-17T08:06:48.110Z
Jonas Schnelli
<p>Is there a way to increase the sync speed. It's running in single thread on raspberrypi connected with USB HDD.</p>

<h1>top</h1>

<pre><code>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 
</code></pre>

<h1>nethogs</h1>

<pre><code>NetHogs version 0.8.1

    PID USER     PROGRAM                    DEV        SENT      RECEIVED       
   1594 necktwi  bitcoind                   enxb82     0.234       1.388 KB/sec
</code></pre>

<p>actually, I have a bandwidth of 6MBps.</p>

<linux>
bitcoind sync is utilising very little CPU and bandwidth and is very slow
Necktwi
# bitcoind sync is utilising very little CPU and bandwidth and is very slow

(Asked by: username_0 on 2018-01-17)

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

# top

```
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 username_0   20   0  345160 198200   7864 S  50.8 20.9   1:33.10 bitcoind 

```

# nethogs

```
NetHogs version 0.8.1

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

```

actually, I have a bandwidth of 6MBps.

**Tags:** linux


---

## 2 answers

### Answer by username_1 on 2018-01-17. Score: 1

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...


---

### Answer by username_2 on 2018-01-17. Score: 1

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.


---

