私は私のメモリより大きいデータファイルで作業しようとしています。メモリマップファイルは、メモリより大きなファイルに対してどのように機能しますか?
これまでのところ、ファイルのすべてのバイトを仮想メモリのアドレスにマップしていました。データは実際に必要なとき(たとえば、特定のエントリにアクセスするとき)にのみ実メモリに読み込まれ、ページと呼ばれるチャンクで読み込まれます。
しかし、私は最終的にそのデータファイルのすべてを処理しようとしていますが、最終的に実際のメモリにすべてを読み込む必要があるのではないでしょうか? OSは、余分なデータのための空き領域を確保するために、解放されるメモリ内のデータのどの部分を自動的に決定しますか?
このプロジェクトでは、Linux上でPythonを使用していますが、違いがあればそれを試しています。 numpy.memmap
利用可能な物理メモリより大きいか、または使用可能な仮想アドレス空間より大きいですか? –