0

I was interested in using a Raspberry Pi Zero W to run the claimed "Bare Minimum (With Custom Settings)" install of bitcoind on either Gentoo or Linux From Scratch. It was suggested that it is POSSIBLE to get bitcoind up and running and synced on a 256 MiB memory footprint (RAM not DISK). I'd be thrilled to get it running on 450 MiB of memory (RAM not DISK). Last I tried this (5+ years ago on Debian) it continually got killed by some kernel monitor... maybe the OOM daemon or something of the like. I eventually gave up and deemed it impossible to run in a 512 MiB memory footprint (RAM not DISK).

Many (many) years later I see that the "Bare Minimum" config claims bitcoind can run in a 256 MiB memory footprint (RAM not DISK). Anyone have the magic CCFLAGS, Kernel config.gz, make defines, or bitcoin.conf switches to get core running with such a low footprint.

I guess I assumed that at a minimum, the full UTXO set (7 GiB) needed to remain in memory on any synced full node. Or, are these bare minimum configs referenced really SPV (thin) clients or something? I'd prefer to avoid pruning if possible.

Obviously, I have no rational reason for wanting to do this on such an insanely anemic system other than the simple puzzle of the problem to solve.

Just to get over the obvious hurdles... I intend to perform the full IBD on a robust (64GiB Mem / 12 Core / 5 TB SSD) system, then only hand control over to the Pi once fully synced. I will also run the Pi off of SSD with whatever infinite swap config gets me across the finish line. Killing the SSD via insane IO is fine by me. It's just a proof of concept, though in truth, I am looking for the most optimal bare-minimum config.

To save the search query, my PiZeroW has the following specs:

  1. Proc: BCM2835 single-core 32 bit ARMv6 ("comparable" to 2005 Pentium D 805)
  2. Mem: 512 MiB
  3. NIC: 802.11 b/g/n wireless LAN (450 Mbps)
  4. DISK: 5 TiB USB SSD

1 Answer 1

1

256 MiB seems extremely low; I very much doubt that will work.

Still, Bitcoin Core has documentation on how to run in low-memory environments: https://github.com/bitcoin/bitcoin/blob/master/doc/reduce-memory.md

I suggest following the settings there (low dbcache, blocksonly, few connections, 1 allocation arena).

1
  • yeah, I thought the documentation suggesting that 256 MiB for a bare minimum config was ambitious as well. I'll try the low-memory config manual suggested and see how it goes. Thx
    – Dan
    Commented Nov 21, 2023 at 16:28

Your Answer

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

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