我想知道如何在 Linux 中创建一个系统调用来清理页面缓存。
这可能不是清理页面缓存的有效方法,但我想通过使用系统调用来完成此任务,那么该怎么做呢?
最佳答案
没有给出像样的答案 什么时候研究需要少于 5 分钟? sysctl.2 手册页进行了说明。 如果内核配置了CONFIG_SYSCTL_SYSCALL 那么它可能是可能的,但手册页指示 首选使用/proc/sys/接口(interface)。 鉴于 open 和 write close 的缓慢 系统调用会更快的假设似乎是合理的。 但是因为它可以并且可能被禁用,哦,好吧。 通过一次一个文件描述符的函数 posix_fadvise 可以提出内核缓存 block 丢弃请求。 如果已经 fsync ed 那么内核可能会遵守。 这是相关的。祝你好运。
关于c - 如何在 Linux 中创建一个系统调用来清理页面缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37411916/