1MB is the current limit, for three reasons initially, but now two remaining reason.
Looking at vmcmd_randomize, you'll see it allocates all the pages up front. That is reason #1. They are not demand-allocated (and then filled with random). I had some draft uvm code for years ago but it is pretty complicated. Reason #2 is the first version didn't yield at all, so the kernel was consumed. That was solved. Reason #3 is the current yield method isn't exactly perfect. Do we increase it? Maybe a little. Would love to know why a program uses that much random.
