|Mac OS X 10.5.8||900227 (3.43GB)||225056 (3.43GB)||877 (3.43GB)||217 (3.39GB)||52 (3.25GB)|
|Linux 2.6.18 (32-bit)||1048173 (4.00GB)||262040 (4.00GB)||1020 (3.98GB)||252 (3.94GB)||59 (3.69GB)|
|Linux 2.6.18 (64-bit)||6168666 (23.53GB)||1540236 (23.50GB)||6016 (23.5GB)||1504 (23.5GB)||376 (23.5GB)|
The machine that ran the 64-bit test is an AMD Opteron 8220 SE with 40 bit physical address lines (1024 GB) and 48 bit virtual address lines (262144 GB). However, I can't seem to actually allocate that much memory at all.
The source of the program can be found here (alignedmmap.c). Note that since the address is never touched, this does not allocate any actual memory, and the program is so tiny that it hasn't loaded very many shared objects besides standard C library.