Bump -dbcache
default value to 300MiB.
Also cap the allocations for the leveldb-specific caches to 32MiB, the current default for 100MiB. This avoids that the extra cache memory goes to the much less effective leveldb cache instead of our application-level cache.
Before:
-dbcache |
-txindex |
block index db (MiB) | chain state db (MiB) | in-memory UTXO set (MiB) |
---|---|---|---|---|
100 default | 0 | 2.0 | 32.5 | 65.5 |
100 | 1 | 12.5 | 29.9 | 57.6 |
300 | 0 | 2.0 | 82.5 | 215.5 |
300 | 1 | 37.5 | 73.6 | 188.9 |
After:
-dbcache |
-txindex |
block index db (MiB) | chain state db (MiB) | in-memory UTXO set (MiB) |
---|---|---|---|---|
100 | 0 | 2.0 | 8.0 | 90.0 |
100 | 1 | 12.5 | 29.9 | 57.6 |
300 default | 0 | 2.0 | 8.0 | 290.0 |
300 | 1 | 8.0 | 8.0 | 284.0 |
Number in bold is the size allocated to the CCoinsCache
in the default case.
See #8245, as well as 2016-06-23 meeting log for discussion.
Note: after this, we also need something like #8138 - currently the dbcache determines how deep undo data is rolled back at start, so otherwise this will result in the start-up verification becoming even slower.