My wallet.dat is 260MB big. I am using 32bit bitcoind (bitcoin-0.10.2), linux.

Bitcoind is having memory problems:

  string(89) "EXCEPTION: St9bad_alloc       
bitcoin in ProcessMessages()       

Current memory allocation: 2.9 GB virt, 2.3 GB virt.

How can I resolve the memory problem? Can I delete old unused addresses? I did not find an API call to remove old addresses. Probably bitcoin-0.11.0 does not resolve the problem either, it has already nearly same values: 2.45 GB Virt, 2.1 GB Res.

  • Why's your wallet.dat so big? Are you automatically generating addresses?
    – Nick ODell
    Oct 15, 2015 at 17:08
  • No i try to reduce the amount of newly generated addresses meanwhile. But this strategy does not help me because it is already too big. I want to reduce it, please help how can i do it?
    – Cahoiner
    Oct 15, 2015 at 17:12
  • Is there a light weight implementation which can load the wallet.dat from the bitcoind?
    – Cahoiner
    Oct 15, 2015 at 19:19
  • Are you certain that the size of wallet.dat is the cause of the problem? If you stop bitcoind, move wallet.dat out of the .bitcoin directory, and start bitcoind again, does it use much less memory? By the way, you can temporarily get it working (although perhaps slowly) by adding swap. Oct 15, 2015 at 19:59
  • There is no built-in way to delete addresses as far as I know - probably this was considered too dangerous. Roughly how many of the addresses in the wallet do you need to save? Oct 15, 2015 at 20:02

3 Answers 3


Bitcoind uses a lot of virtual memory, due to having multiple threads, and maintaining several node-wide and per-peer caches of data (UTXO cache, mempool, relay cache, network buffers, known invs list, ...).

Until recently, many of these were effectively unbounded, depending on network conditions. The upcoming release of Bitcoin Core 0.12 has far better internal memory accounting, UTXO set limiting, mempool limiting, and more compact internal representations.

  • Core v0.23 on debian fully synced,pruned uses 4.2GB virtual mem and 250MB real mem, that's a huge overhead. progress=1.000000 cache=65.1MiB(438170txo) Oct 9, 2022 at 13:30

The bitcoin version 0.11.1 (linux 32 bit) seems to deal better with the memory, so i amnot having the problem anymore


A bitcoind restart helps. The memory consumption grows over time, after a restart it will start growing again but you have some weeks of operation to go. memory growth rate depends on what is going on the bitcoin network.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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