2017-03-17 10 views
2

サイズが4GBのメモリアドレスを約20ブロック予約することができれば、私の人生は大幅に簡素化されるアルゴリズムがあります。実際には、私は4GB以上を使用することはありませんが、どのブロックが先にいっぱいになるのか分かりません。Mac OS Xでのmmapingのコストはいくらですか?

私がの場合、すべての4GBのブロックがうまくいくようです。メモリに書き込むまで、OSは実際に何かを割り当てていないようです。

mmapを使用して80GBのメモリを割り当ててから、少量しか使用しない理由はありますか?私はこれらのバッファを設定するにはいくらかのコストがかかると仮定します。私はそれを測定することはできますか?

答えて

2

80GBをmmapingするという唯一の欠点は、完全な80GBに対してpage tableを作成する必要があることです。したがって、ページが4KBの場合、このテーブルは多くのメモリを消費する可能性があります(huge pagesが使用されている場合を除く)。

このようなサイズの場合、おそらく1つ以上ののスライドビュー mmap-ed views(必要なときにそれらを作成して削除する)を使用する方が良いでしょう。

Windowsでは、mmap /ページテーブルのメモリ使用量はRamMapで確認できますが、Macについてはわかりません。

関連する問題