Linux kernel UNIX系统调用以取消设置页表中特定页的引用位?

Linux kernel UNIX系统调用以取消设置页表中特定页的引用位?,linux-kernel,kernel-module,page-tables,Linux Kernel,Kernel Module,Page Tables,我试图通过对页面表中的参考位进行黑客攻击来计算特定页面集的点击率。是否有任何系统调用或任何其他方式来取消设置引用位(在类UNIX系统中) 页表是计算机操作系统中虚拟内存系统用来存储虚拟地址和物理地址之间映射的数据结构。() 在类似unix的系统中,每个页表条目都有一个相关的位,称为“reference”位,它指示在该位未设置后是否访问了页。 linux内核定期取消设置这些参考位,然后检查一段时间,以了解访问了哪些页面,以便检测“热”页面。但是这些信息是非常粗糙和低精度的,因为它没有说明访问的数量

我试图通过对页面表中的参考位进行黑客攻击来计算特定页面集的点击率。是否有任何系统调用或任何其他方式来取消设置引用位(在类UNIX系统中)

页表是计算机操作系统中虚拟内存系统用来存储虚拟地址和物理地址之间映射的数据结构。()

在类似unix的系统中,每个页表条目都有一个相关的位,称为“reference”位,它指示在该位未设置后是否访问了页。 linux内核定期取消设置这些参考位,然后检查一段时间,以了解访问了哪些页面,以便检测“热”页面。但是这些信息是非常粗糙和低精度的,因为它没有说明访问的数量和时间

我想通过取消设置引用位来计算在较短时间内对特定页面的访问,然后检查页面是否在较短时间后被访问


因此,我想知道是否有任何系统调用或CPU中断提供了取消设置“参考位”的方法。否则,我需要深入内核,看看下面会发生什么

没有用于重置页面参考位的API。页面管理是内核调优的一个非常棘手的方面,没有人想打乱它。当然,您可以根据需要修改内核

相反,您可以研究哪个是用于运行单个程序的调试和分析工具。通常,它会检测细微的内存错误,例如在动态内存块被释放后检测其使用情况


如果您需要整个系统的页面管理信息,我认为最方便的解决方案是破解内核。

请解释(可能有一些)您的参考位到底是什么,以及如何破解它们。顺便说一句,没有系统调用来获取它们(即使正在执行类似的操作)。因此,编辑你的问题,以改善它很多(没有更多的细节,这是不清楚的)。有关系统调用的列表,请参阅。请提供有关目标的更多详细信息。同时查看。也许您可能对
/proc/self/smap
@BasileStarynkevitch刚刚添加了有关该问题的更多信息。@wallyk刚刚添加了有关该问题的更多信息。