I agree that it doesn't matter what value of
n you specify for
dbcache=n, even when I don't exactly know how Bitcoin Core actually allocates memory for such caches.
But 4 KiB pages aren't the only size that most CPU and OS architectures support. There's usually also something called large or huge pages, because having to manage only a fixed small size like 4 KiB isn't efficient in certain cases.
Maybe have a look here to dig deeper, for those who are interested:
https://en.wikipedia.org/wiki/Page_(computer_memory)Absolutely, and it's good that you mention it. In fact, I wanted to write about it myself, but I thought that since typically 4 KiB is the typical situation, I should expand my thesis based on this assumption.
As far as Bitcoin Core is concerned, I 'd love to hear some input from someone who knows, but I know that in general the amount of dbcache that you put in the argument is the total cache that you want Core to use and then the program splits it in smaller batches and uses it for the chainstate, the UTXO etc.