# BTC Core 28.1.0 vs. 29.0 Memory usage \<5 GB difference

**URL:** <https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785>\
**Category:** Bitcoin and Lightning\
**Created:** [August 28, 2025, 10:46pm UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785 "2025-08-28T22:46:50Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![gteam84](https://avatars.discourse-cdn.com/v4/letter/g/b3f665/32.png) [@gteam84](https://community.umbrel.com/u/gteam84)\
**Post date:** [August 28, 2025, 10:46pm UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/1 "2025-08-28T22:46:50Z")

</div>

I am running two nodes simultaneously. I began having issues with one an updated the BTC Core to 29.0 and removed other apps (mempool, LN, etc.). Now my tow nodes are just running BTC Core 28.1.0 and Core 29.0. The 28.1.0 node uses about ~1.35GB of memory: 915MB for BTC Core and 427MB for System. 29.0 is using about ~6GB with 5.7GB for Core and 375 MB for system. Anyone else have these similar differences? Does anyone see a longer term issue?

---

<div class="post-metadata">

**Author:** ![oconical](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/oconical/32/7451_2.png) [@oconical](https://community.umbrel.com/u/oconical)\
**Post date:** [August 29, 2025, 2:27pm UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/2 "2025-08-29T14:27:26Z")

</div>

The amount of memory it uses is defined in the bitcoin.conf file. In the newer version they just increased the amount of ram it uses in the ,conf file since most people that run it have 8+ GB of ram.

---

<div class="post-metadata">

**Author:** ![gteam84](https://avatars.discourse-cdn.com/v4/letter/g/b3f665/32.png) [@gteam84](https://community.umbrel.com/u/gteam84)\
**Post date:** [August 29, 2025, 7:57pm UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/3 "2025-08-29T19:57:36Z")

</div>

Thanks for the info!

---

<div class="post-metadata">

**Author:** ![tanakei](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/tanakei/32/7662_2.png) [@tanakei](https://community.umbrel.com/u/tanakei)\
**Post date:** [September 6, 2025, 12:09am UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/4 "2025-09-06T00:09:39Z")

</div>

Which option in the bitcoin.conf file defines the amount of memory used?

---

<div class="post-metadata">

**Author:** ![akessel56](https://avatars.discourse-cdn.com/v4/letter/a/ea666f/32.png) [@akessel56](https://community.umbrel.com/u/akessel56)\
**Post date:** [September 6, 2025, 2:15pm UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/5 "2025-09-06T14:15:28Z")

</div>

The big ones are dbcache and and maximum mempool size, you can change them in settings - for Bitcoin Node

---

<div class="post-metadata">

**Author:** ![tanakei](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/tanakei/32/7662_2.png) [@tanakei](https://community.umbrel.com/u/tanakei)\
**Post date:** [September 6, 2025, 2:31pm UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/6 "2025-09-06T14:31:22Z")

</div>

My Bitcoin Core settings are as follows:  
maxmempool=300  
dbcache=429  
I used the same settings in v28. After upgrading to v29, memory usage increased significantly.

---

<div class="post-metadata">

**Author:** ![forrestbice](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/forrestbice/32/5251_2.png) [@forrestbice](https://community.umbrel.com/u/forrestbice)\
**Post date:** [September 23, 2025, 6:15am UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/7 "2025-09-23T06:15:02Z")

</div>

Also experiencing this. Anyone solve this yet? Accepted solution doesn’t work for me as suggested by the last comment

---

<div class="post-metadata">

**Author:** ![oconical](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/oconical/32/7451_2.png) [@oconical](https://community.umbrel.com/u/oconical)\
**Post date:** [September 23, 2025, 7:09am UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/8 "2025-09-23T07:09:57Z")

</div>

Well the utxo held into memory are the cause as the database of them has gotten significantly huge. Which is a problem for people running older computers.

looking at the system, we can add a swapfile as there is not one on the OS side via ssh

I have a few programs on my umbrel, plus a miner on the OS side, so when I look at it

 ![Screenshot From 2025-09-23 00-31-39](https://canada1.discourse-cdn.com/flex030/uploads/getumbrel/original/2X/7/744162e6fe3745248cfb66bca9f3d5c6f875d833.png)

I need to add a swap file.

The drawback of docker is the programs you install are always running and taking up memory.

I have 16GB of ram so I am going to make a 32GB swapfile by:

```auto
sudo fallocate -l 32G /swapfile

```

but I get an error that I have no disk space. Lets check the space free since this install took away the disk space from /

 ![Screenshot From 2025-09-23 00-48-00](https://canada1.discourse-cdn.com/flex030/uploads/getumbrel/original/2X/d/d72316d3a48339e132fe7bed4395efe03af268d6.png)

ok, looks like all the disk space has been reserved for /data which is the mount point for docker.

let’s try that again but put it in /data

```auto
sudo fallocate -l 32G /data/swapfile
sudo chmod 600 /data/swapfile
sudo mkswap /data/swapfile
sudo swapon /data/swapfile
echo ' /data/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

```

now let’s see what we have:

 ![Screenshot From 2025-09-23 01-03-25](https://canada1.discourse-cdn.com/flex030/uploads/getumbrel/original/2X/3/3553fcc1d1713e569d329e8236b39a52066566ab.png)

Thank you for noticing we were running out of ram. I would have figured out when I did run out and it would crash my Umbrel install. One would think they would thought to do this when they created the install of Umbel.

---

<div class="post-metadata">

**Author:** ![tanakei](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.umbrel.com/tanakei/32/7662_2.png) [@tanakei](https://community.umbrel.com/u/tanakei)\
**Post date:** [September 23, 2025, 7:50am UTC](https://community.umbrel.com/t/btc-core-28-1-0-vs-29-0-memory-usage-5-gb-difference/23785/9 "2025-09-23T07:50:35Z")

</div>

> To be extra clear: **although common utilities will report that Bitcoin Core after 29.0 uses more memory it is not so and it will not lead to OOM**.

It seems to be fine.

> <https://github.com/bitcoin/bitcoin/issues/33351>
>
> For versions of Bitcoin Core after 29.0, common utilities like \`top\` will report… higher RAM usage of the \`bitcoind\` process than for previous Bitcoin Core versions.
> 
> The size of LevelDB files was increased from 2 MiB to 32 MiB in Bitcoin Core 29.0 (PR https://github.com/bitcoin/bitcoin/pull/30039). LevelDB caches its on-disk files using \[\`mmap\`\](https://en.wikipedia.org/wiki/Mmap) and will cache up to 1000 files by default, although our fork increased this number to 4096 (see https://github.com/bitcoin-core/leveldb-subtree/pull/52). This means that if there is enough available memory, the full chainstate database will be cached.
> 
> However this is not memory actually \*used\* by the \`bitcoind\` process, only on-disk database files cached for faster future reads. Therefore in case of memory pressure, the host's kernel will not kill the \`bitcoind\` process but just drop the \`mmap\` pages. To be extra clear: \*\*although common utilities will report that Bitcoin Core after 29.0 uses more memory it is not so and it will not lead to OOM\*\*.
