mlock(2)を呼び出して STL コンテナーのコンテンツがディスクにスワップされるのを防ぐアロケーターを見た人はいますか?
このようなアロケーターを作成するには、1 つだけトリッキーな部分があります。つまり、mlock される割り当てをクラスター化することによって、mlock されるページの数を最小限に抑えます。エルゴ、共有メモリアロケータを変更することから始めるべきでしょうか?
これを実装したい場合 (想像するのは難しいです。なぜなら、これが問題に対する正しい解決策であるとは信じがたいからです :^)、boost::pool_allocator(標準ライブラリと互換性のある Allocator を提供するプール)そして-詳細は忘れました。RequestedSizeへのテンプレート引数が含まれるsingleton_poolと思いますuser_allocatorか?-選択したメカニズムによって、より大きなメモリチャンクを要求するプールの上に置く方法がいくつかあります。これは、あなたの場合、mlockedページの割り当てです。