gpt4 book ai didi

linux - mmap 和 O_DIRECT 可以一起使用吗?

转载 作者:行者123 更新时间:2023-12-03 15:00:25 27 4
gpt4 key购买 nike

据我了解,当您映射文件时,您基本上是将该文件的页面缓存中的页面直接映射到您的进程中,而当您使用 O_DIRECT 时,您将绕过页面缓存。将两者一起使用是否有意义?如果我的理解是正确的,它甚至会如何工作? mmap 似乎依赖于页面缓存中的文件,而 O_DIRECT 似乎阻止它进入那里(假设系统上没有其他任何东西打开了该文件)。我找到了 this question但回答者似乎认为这样做是完全正常的。

最佳答案

我认为它没有多大意义。
O_DIRECT 意味着所有 I/O 都应尽快(无缓存)反射(reflect)在存储中。
映射页面是内存中存储(文件)的副本。反射(reflect)每次对内存的读取和写入都必须进行一些 I/O,这将对性能造成巨大影响。

关于linux - mmap 和 O_DIRECT 可以一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33446192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com