web-dev-qa-db-ja.com

tmpfsからファイルをmmapすると、メモリ使用量が2倍になりますか?

私は、パフォーマンスのためにmmapとMAP_LOCKEDおよびMAP_POPULATEを使用してメモリ内のファイルをロックするシステムに取り組んでいます。 tmpfsにあるファイルでこれを行う場合、既存のtmpfsメモリ領域を使用しますか、それともmmapのコピーを作成しますか?

5
ElefEnt

Tmpfsは、すべてのファイルを仮想メモリに保持するファイルシステムです。

tmpfsは完全にページキャッシュとスワップ上に存在します

mmapは、データをメモリに保存する必要がある場合に、ファイルデータをディスクキャッシュにコピーします。 tmpfsを使用すると、すべてのデータがすでにディスクキャッシュにあります(またはスワップアウトされます)。したがって、mmapされたデータはコピーされません。すでにコピー先の場所にあります。