c - 如何在 Linux 中创建一个系统调用来清理页面缓存?

标签 c linux linux-kernel

我想知道如何在 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/

相关文章:

c - 从文件中读取动态内存

linux - 在 Ubuntu Firefox 的小程序中获取剪贴板访问权限

memory - Linux x86-64 上的物理内存中的用户空间和内核之间是否存在明确的划分?

python - 如何在 python 中使用 c 结构?

c - 使用加法检索大端整数

python - 可以将 Python 与英特尔 Atom Developer SDK (C/C++) 结合使用吗?

linux - 从 shellcode 运行文件

python - 如果不重写 Python/Perl 脚本,我如何在 bash 脚本中通过管道将输出连接在一起?

c - 启用从用户空间进程调试内核模块

linux - 如何使用 Linux 调度程序将 CPU 核心限制为仅 2 个应用程序?