при использовании mmap для выделения некоторого анонимного mem мы часто устанавливаем начальный адрес как 0 / null, поэтому mmap сам определит начальный адрес. И чтобы получить начальный адрес, он будет работать, продумывая все пространство виртуальной памяти, чтобы найти дыру, которая могла бы разместить патрон памяти для выделения. Я думаю, это рассчитывается как пользовательский процессор вместо системного процессора. Если виртуальная память фрагментирована, то для поиска начального адреса потребуется больше пользовательских процессоров, насколько я понимаю, правильно