<p>Followed your parameter:</p>

<pre><code>bitcoind -blocksonly=1 -dbcache=50 -maxorphantx=10 -maxmempool=100 &amp; 
</code></pre>

<p>Now I have only 286M memory used with <code>bitcoind</code> running.</p>

CC BY-SA 4.0
2018-09-21T19:29:10.327Z
Please don't use the "answer" box to write "thank you" type comments.  Please take the [tour] and check [this faq on deleted answers](https://bitcoin.stackexchange.com/help/deleted-answers).
Hannah Vernon
CC BY-SA 4.0
2018-09-23T12:55:06.777Z
In my opinion this answer does add a bit more new information so I don't think it needs to be deleted
meshcollider
CC BY-SA 4.0
2021-01-31T18:39:59.733Z
Why are you setting `-maxmemool` if you already have `-blocksonly`? Seems redundant to me but I might be missing something.
Gunar Gessner
CC BY-SA 4.0
2018-09-17T04:52:22.167Z
2019-09-29T15:37:28.777Z
2019-09-29T15:37:28.777Z
Makarthur
<p>The largest consumers of memory are:</p>
<ul>
<li>The memory pool (reduce with <code>-maxmempool</code>, or disable entirely with <code>-blocksonly</code> if you don't care about unconfirmed transactions).</li>
<li>The UTXO cache (reduce with <code>-dbcache</code>, at the cost of potentially much slower syncing).</li>
<li>The signature cache (reduce with <code>-maxsigcachesize</code>).</li>
</ul>
<p>In addition, you can also reduce the maximum number of connections (<code>-maxconnections</code>) or the number of RPC threads (<code>-rpcthreads</code>).</p>
<p>A viable minimum configuration without mempool could be <code>-blocksonly -dbcache=20 -maxsigcachesize=4 -maxconnections=4 -rpcthreads=1</code>.</p>
<p>Some advice is also included in the documentation under <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/reduce-memory.md" rel="nofollow noreferrer">https://github.com/bitcoin/bitcoin/blob/master/doc/reduce-memory.md</a></p>

CC BY-SA 3.0
2017-01-12T15:04:36.533Z
`-blocksonly` alone brought my node's memory footprint down to about ~700 MB. I also have `-banscore` set to 1, which seems to help get rid of spammy nodes that flood my node with bad transactions.
Geremia
CC BY-SA 3.0
2017-03-20T08:48:43.410Z
Was still crashing with me! But setting also `maxmempool=100` was causing bitcoind to be at ca. 570MB RSS, that works on my 1GB VPS.
Borph
CC BY-SA 3.0
2017-09-04T19:39:44.490Z
I used the follow options: blocksonly=1
dbcache=50
maxorphantx=10
maxmempool=100
maxconnections=32 and bitcoind is running smoothly on my raspberrypi with the follow Memory footprint VSZ 422524 and RSZ 266956
Zioalex
CC BY-SA 4.0
2022-05-13T02:15:11.240Z
carefully set blocksonly=1，in my case when i set this parameter,the txid cant be added to mempool and stucked for a very long time.no errors in log.
nervalpoet
CC BY-SA 4.0
2022-06-03T15:26:01.170Z
Some more details available at:
https://github.com/bitcoin/bitcoin/blob/master/doc/reduce-memory.md
Riccardo Casatta
CC BY-SA 4.0
2017-01-12T12:54:12.397Z
2023-01-04T14:46:57.337Z
2023-01-04T14:46:57.337Z
Pieter Wuille
<p>I have a Raspberry Pi with 925 MB of memory. Bitcoin Core, operating as a full node, uses between 600-900 MB. How can I reduce <code>bitcoind</code>'s memory usage?</p>

<p>I tried setting <code>maxmempool</code> to its minimum allowed value, <code>5</code>. What about <code>maxreceivebuffer</code> and <code>maxsendbuffer</code>? Would setting these to a low value reduce memory usage?</p>

CC BY-SA 3.0
2017-01-06T00:26:00.077Z
Short comment before writing a full answer: a 5 MB mempool isn't particularly useful. You might as well disable the mempool entirely with `-blocksonly`.
Pieter Wuille
CC BY-SA 3.0
2017-01-06T00:50:36.867Z
@PieterWuille That's a good suggestion. I didn't know about that option. It probably lowers memory usage, too. In fact, [this Reddit post on running a node on a 512 MB Raspberry Pi](https://www.reddit.com/r/Bitcoin/comments/5ffwg2/raspberry_pi_1_b_512mb_ram_running_bitcoind_0131/) mentions using that flag, too.
Geremia
CC BY-SA 3.0
2017-01-10T02:10:46.373Z
With -blocksonly you don't have any mempool at all.
Pieter Wuille
<bitcoin-core><memory><cache>
How to run bitcoind in a low memory environment
Geremia
# How to run bitcoind in a low memory environment

(Asked by: username_0 on 2017-01-05)

I have a Raspberry Pi with 925 MB of memory. Bitcoin Core, operating as a full node, uses between 600-900 MB. How can I reduce `bitcoind`'s memory usage?

I tried setting `maxmempool` to its minimum allowed value, `5`. What about `maxreceivebuffer` and `maxsendbuffer`? Would setting these to a low value reduce memory usage?

**Tags:** bitcoin-core, memory, cache

> **Comments:**
> **username_1**: Short comment before writing a full answer: a 5 MB mempool isn't particularly useful. You might as well disable the mempool entirely with `-blocksonly`.  
> **username_0**: @PieterWuille That's a good suggestion. I didn't know about that option. It probably lowers memory usage, too. In fact, [this Reddit post on running a node on a 512 MB Raspberry Pi](https://www.reddit.com/r/Bitcoin/comments/5ffwg2/raspberry_pi_1_b_512mb_ram_running_bitcoind_0131/) mentions using that flag, too.  
> **username_1**: With -blocksonly you don't have any mempool at all.  

---

## 2 answers

### Answer by username_1 on 2017-01-12. Score: 21 | Accepted answer

The largest consumers of memory are:

* The memory pool (reduce with `-maxmempool`, or disable entirely with `-blocksonly` if you don't care about unconfirmed transactions).
* The UTXO cache (reduce with `-dbcache`, at the cost of potentially much slower syncing).
* The signature cache (reduce with `-maxsigcachesize`).

In addition, you can also reduce the maximum number of connections (`-maxconnections`) or the number of RPC threads (`-rpcthreads`).

A viable minimum configuration without mempool could be `-blocksonly -dbcache=20 -maxsigcachesize=4 -maxconnections=4 -rpcthreads=1`.

Some advice is also included in the documentation under <https://github.com/bitcoin/bitcoin/blob/master/doc/reduce-memory.md>

> **Comments:**
> **username_0**: `-blocksonly` alone brought my node's memory footprint down to about ~700 MB. I also have `-banscore` set to 1, which seems to help get rid of spammy nodes that flood my node with bad transactions.  
> **username_6**: Was still crashing with me! But setting also `maxmempool=100` was causing bitcoind to be at ca. 570MB RSS, that works on my 1GB VPS.  
> **username_7**: I used the follow options: blocksonly=1 dbcache=50 maxorphantx=10 maxmempool=100 maxconnections=32 and bitcoind is running smoothly on my raspberrypi with the follow Memory footprint VSZ 422524 and RSZ 266956  
> **username_8**: carefully set blocksonly=1，in my case when i set this parameter,the txid cant be added to mempool and stucked for a very long time.no errors in log.  
> **username_9**: Some more details available at: https://github.com/bitcoin/bitcoin/blob/master/doc/reduce-memory.md  

---

### Answer by username_2 on 2018-09-17. Score: 5

Followed your parameter:
bitcoind -blocksonly=1 -dbcache=50 -maxorphantx=10 -maxmempool=100 & 

Now I have only 286M memory used with bitcoind running.

> **Comments:**
> **username_3**: Please don't use the "answer" box to write "thank you" type comments.  Please take the [tour] and check [this faq on deleted answers](https://bitcoin.stackexchange.com/help/deleted-answers).  
> **username_4**: In my opinion this answer does add a bit more new information so I don't think it needs to be deleted  
> **username_5**: Why are you setting `-maxmemool` if you already have `-blocksonly`? Seems redundant to me but I might be missing something.  

---

