POSIX_FADV_DONTNEED是否从Linux上的其他进程中删除脏页?

时间:2018-10-08 18:05:11

标签: c linux

我一直在研究madvise。

示例:

https://www.youtube.com/watch?v=bg6-LVCHmGM&feature=youtu.be&t=1h13m24s

Does madvise(___, ___, MADV_DONTNEED) instruct the OS to lazily write to disk?

这表示如果调用madvise,脏页将不会写入磁盘。

用POSIX_FADV_DONTNEED调用时posix_fadvise的行为是否相同?

如果行为相同,则为在两个单独文件中打开的文件调用posix_fadvise时会发生什么?

另一个进程上的脏页是否被驱逐而不被写入磁盘?

1 个答案:

答案 0 :(得分:0)

不。关于Linux MADV_DONTNEED的一切都与POSIX语义相反,并且不适用于posix_madviseposix_fadvise的实现。仅当您调用非标准化的madvise函数时才有意义。