実メモリを消費するか、論理アドレスを消費するか

mmap()は、仮想記憶の仕組みを使う。

だから、メモリにマップすると、そのファイルの大きさの分のメモリがmallocされる。

だけれども、別にその領域にたいして全部実メモリがマップされるわけではない。
アクセスがあったところに実メモリがマップされて、このマッピングはハードウェア(CPU)の仮想記憶が管理する。

64Bitだと、論理アドレスはほぼ無限だが、実メモリの量が増えたわけではないので、論理アドレスは腐るほど使って、実メモリを控えめにするようにかこうっと。