tmpfsからファイルをマッピングすると、メモリ使用量は2倍になりますか?

tmpfsからファイルをマッピングすると、メモリ使用量は2倍になりますか?

私はパフォーマンスを向上させるために、MAP_LOCKEDとMAP_POPULATEと一緒にmmapを使用してメモリ内のファイルをロックするシステムを開発しています。 tmpfsのファイルでこれを行うと、既存のtmpfsメモリ領域を使用するのでしょうか、それともmmap用のコピーを作成しますか?

答え1

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

tmpfs は完全にページキャッシュとスワッピングに存在します。

mmapファイルデータがメモリに存在する必要がある場合は、ディスクキャッシュにコピーされます。 tmpfsを使用すると、すべてのデータはすでにディスクキャッシュにあります(または置き換えられます)。したがって、マッピングされたデータはコピーされません。コピーしたい場所にはすでにデータがあります。

関連情報