Я заметил, что 64-битные программы и библиотеки мапят как минимум по 2 мегабайта виртуальной памяти, даже если их размер намного скромнее. Из-за этого многие простейшие процессы «виртуально разрастаются» до сотен мегабайт.
Выяснилось, что дело в величине p_align в заголовке сегмента ELF-файлов. Для сегметов типа LOAD это 0x1000 при 32 битах и 0x200000 при 64 битах.
Google не помог мне понять: зачем выбрана такая величина?!