On 24.10.19 15:03, Markus Junginger wrote:
per transaction MDB_TRPAGE_SIZE bytes is allocated
I guess, I was too quick here. It's MDB_TRPAGE_SIZE * 16.
Also, I guess, txn->mt_rpages are just pointers to in-memory cached pages (or chunks?), so the memory consumption of those is much higher.
The docs mention "chunks of 16 pages"; does that refer to mt_rpages? If so, a single mt_rpages pointer can actually hold on to 16 * 4K = 64 KB? Thus a MDB_TRPAGE_SIZE 4096 can go up to 256 MB memory? That changes the picture of course...
PS.: let me express the irony once more that "removing data" is the most costly operation here ;-)