Definition
dbcache is the Bitcoin Core option, set with -dbcache=<n> in MiB, that controls how much memory the node devotes to the chainstate (UTXO) database before flushing it to disk. Despite the name, it is less a read cache and more a write buffer: instead of writing every UTXO change to disk as it processes each block, the node accumulates changes in memory and flushes them in large batches. Because disk writes are the bottleneck during validation, a bigger dbcache dramatically reduces the time to complete the initial block download.
Defaults and trade-offs
The default is 1024 MiB on machines with at least 4 GiB of RAM, dropping to 450 MiB on smaller systems; the minimum is 4 MiB. Operators syncing a fresh node from scratch often raise it to several gigabytes temporarily to cut sync time from days to hours, then lower it afterward, since the cache mainly helps during bulk validation rather than steady-state operation. Set it too high relative to physical RAM and the machine starts swapping, which is slower than a modest cache.
Practical guidance
If you see sustained swap I/O while bitcoind runs, restart with a lower dbcache and consider reducing -maxmempool or connections. On constrained hardware like a single-board computer, a balanced dbcache plus a fast SSD matters far more than raw CPU.
Related node-internals topics include reindex and mempool persistence.
In Simple Terms
dbcache is the Bitcoin Core option, set with -dbcache=<n> in MiB, that controls how much memory the node devotes to the chainstate (UTXO) database before…
