Jos*_*vin 6 linux io mmap file
据我了解,当您映射文件时,您基本上是将该文件的页面缓存中的页面直接映射到您的进程中,而当您使用 O_DIRECT 时,您将绕过页面缓存。将两者一起使用是否有意义?如果我的理解是正确的,它甚至会如何工作?mmap 似乎依赖于页面缓存中的文件,而 O_DIRECT 似乎阻止它进入那里(假设系统上没有其他任何东西打开了该文件)。我发现了这个问题,但回答者似乎认为这是完全正常的。
小智 1
我认为这没有多大意义。
O_DIRECT 意味着所有 I/O 应尽快反映在存储中(无需缓存)。
映射页是内存中存储(文件)的副本。反映每次对内存的读取和写入都必须执行一些 I/O,这将对性能造成巨大影响。
归档时间:
10 年,11 月 前
查看次数:
1826 次
最近记录:
5 年,5 月 前