Yes you. I agree with you that in such a system, the smallest size makes the most sense. However, for example, if you take the situation with x86-64, where the parameters are 4kb, 2MB, 1GB. Given the current size of 4 GB approximation memory, it is obvious that 1 GB does not make sense, but since most programs currently contain quite a lot of compiled code, or in the case of interpreted and virtual languages, the entire code of VM pages, 2 MB makes the most sense. In other words, to determine these things, you need to think about the average memory usage in a program in this system, the number of programs, and, most importantly, the average fragmentation size for the page table size. Since while a small memory size like this benefits from low fragmentation, 4kb pages per 4 GB of memory is a very large page table. Very big.
source share