gpt4 book ai didi

linux - 如何在 linux 内核中禁用页面缓存?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:57 25 4
gpt4 key购买 nike

在内核中如何避免page cache,应用程序可以直接从磁盘写入或读取数据?在内核中,如何设置?

最佳答案

您需要应用程序调用 O_DIRECT。来自手册页 http://man7.org/linux/man-pages/man2/open.2.html

通过这个,您告诉内核在执行 I/O 时不要从页面缓存写入/读取。

O_DIRECT(自 Linux 2.4.10 起) 尝试将 I/O 的缓存效应降到最低 文件。一般来说,这会降低性能,但它是 在特殊情况下很有用,例如当应用程序做 自己的缓存。文件 I/O 直接向/从用户完成 空间缓冲器。 O_DIRECT 标志本身就很努力 同步传输数据,但不给 O_SYNcflags保证数据和必要的元数据 被转移。为了保证同步 I/O,O_SYNC 必须是 除了 O_DIRECT 之外还使用。请参阅下面的注释了解更多信息 讨论。

          A semantically similar (but deprecated) interface for block
devices is described in raw(8).

关于linux - 如何在 linux 内核中禁用页面缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37892791/

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