标签: mmap
假设我有一个正好长4096字节的文件。
(a)我使用open(2)打开文件并阅读其全部内容。关闭文件。
VS
(b)我打开文件,使用PROT_READ mmap其fd,读取缓冲区的全部内容,关闭fd,但不要使用munmap释放缓冲区。
我假设在这两种情况下,文件的单个页面都将放入页面缓存中(因此将来尝试读取此文件不需要磁盘IO)
我的问题是 - 当系统耗尽物理内存,并且需要从页面缓存中删除一些页面时,它是否更愿意将“常规页面”(a)放在“mmaped页面”上(b) ?