メモリマップされたファイルが常にRAMにあることを確認する方法
-
27-10-2019 - |
質問
コンテンツが常にRAMに保持され、ページファイルにフラッシュされないことを保証して、インタープロセス通信用のメモリマッピングファイルを作成することは可能ですか?
私は現在、オーダーメイドのOLAPアプリに取り組んでいます。コアのアイデアは、すべてのデータを含むメモリバンクのような1つのプロセスと、実際に計算を行う複数のワーカープロセスを持つことです。通常、すべてが非常にスムーズに機能しますが、労働者がしばらく使用されていないファイルの一部のビューを作成しようとすると、パフォーマンスのしゃっくりがあります。
RAMの量は問題ではありません(Windows/64ビット) - システムがページファイルの使用を停止できるかどうかはわかりません。
解決
あなたはおそらくそれを探しています VirtualLock
関数。
プロセスの仮想アドレス空間の指定された領域を物理メモリにロックし、その後の領域へのアクセスがページ障害が発生しないようにします。
所属していません StackOverflow