我想知道如何在Linux.中创建一个系统调用来清理页面缓存。
它可能不是清理页面缓存的有效方法,但是我想通过使用系统调用来完成这个任务,那么该如何做呢?
发布于 2017-11-05 20:41:49
当研究所需时间少于5分钟时,没有给出一个像样的答案?sysctl.2手册页解释了。如果内核配置为CONFIG_SYSCTL_SYSCALL,那么它可能是可能的,但是手动页面表明首选使用/proc/sys/接口。考虑到打开和写结束的缓慢性,关于syscall会更快的假设似乎是有道理的。但是既然它可以而且很可能是残疾的,哦,好吧。通过函数posix_fadvise一次为一个文件描述符,可以发出内核缓存块丢弃请求。如果已经进行了fsync,那么内核可能会遵守。这是有关联的。祝好运。
发布于 2016-05-24 11:18:37
您可以通过执行echo 3 >/proc/sys/vm/drop_caches来删除内核缓存。了解这是如何实现的,然后在系统调用中执行相同的操作。有关如何向Linux添加系统调用的详细信息,请阅读教程。
https://stackoverflow.com/questions/37411916
复制相似问题