Large files 为一个文件调用两次mmap

Large files 为一个文件调用两次mmap,large-files,mmap,Large Files,Mmap,我想随机访问一个大文件的某些部分。如果我需要文件的另一部分,在打开我需要的mmap部分后。我应该再次关闭第一个内存映射区域和mmap,还是可以同时打开两个内存映射区域 我不想映射所有文件,因为它可能比RAM大,并且我将在程序上使用同时打开的多个文件。Mmapping不会占用RAM。您可以而且应该映射整个文件,除非它大于可用的地址空间。在64位计算机上,这是不太可能的。在32位上,这不是不可能的 在任何情况下,您都可以对每个文件进行任意数量的映射。我希望能够打开20-30个文件。在32位系统上,如

我想随机访问一个大文件的某些部分。如果我需要文件的另一部分,在打开我需要的mmap部分后。我应该再次关闭第一个内存映射区域和mmap,还是可以同时打开两个内存映射区域


我不想映射所有文件,因为它可能比RAM大,并且我将在程序上使用同时打开的多个文件。

Mmapping不会占用RAM。您可以而且应该映射整个文件,除非它大于可用的地址空间。在64位计算机上,这是不太可能的。在32位上,这不是不可能的


在任何情况下,您都可以对每个文件进行任意数量的映射。

我希望能够打开20-30个文件。在32位系统上,如果我同时打开2个4GB文件,地址空间是否会不足?在32位系统上,即使是一个4GB文件,也无法映射所有文件。根据我的第二段,做很多小的片段映射。