1

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

Bitcoind is having memory problems:

 ["errors"]=>
  string(89) "EXCEPTION: St9bad_alloc       
std::bad_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 '15 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 '15 at 17:12
  • Is there a light weight implementation which can load the wallet.dat from the bitcoind? – Cahoiner Oct 15 '15 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. – Nate Eldredge Oct 15 '15 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? – Nate Eldredge Oct 15 '15 at 20:02
1

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.

| improve this answer | |
0

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.

| improve this answer | |
0

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

| improve this answer | |

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.