Memory management 在linux内核中有没有什么技巧可以故意交换掉一个页面?

Memory management 在linux内核中有没有什么技巧可以故意交换掉一个页面?,memory-management,linux-kernel,Memory Management,Linux Kernel,我试图调试一些问题,我想想象一个场景,当物理内存页被调出时。这有什么诀窍吗 Linux内核:3.10.x 平台:arm 非常感谢。如果你的意思是“在linux内核中”,那么是的。有些函数会导致页面交换,您可以直接调用这些函数。请参见pageout()作为起点。我怀疑这将是不平凡的,让这一切都设置得恰到好处 如果你的意思是“有没有一种方法可以从用户空间中实现”,答案是否定的。好吧,不是直接的(反正是AFAIK)。你最好的办法是不要进一步触摸有问题的页面,同时分配大量其他内存(这可以在单独的过程中完

我试图调试一些问题,我想想象一个场景,当物理内存页被调出时。这有什么诀窍吗

Linux内核:3.10.x

平台:arm

非常感谢。

如果你的意思是“在linux内核中”,那么是的。有些函数会导致页面交换,您可以直接调用这些函数。请参见
pageout()
作为起点。我怀疑这将是不平凡的,让这一切都设置得恰到好处

如果你的意思是“有没有一种方法可以从用户空间中实现”,答案是否定的。好吧,不是直接的(反正是AFAIK)。你最好的办法是不要进一步触摸有问题的页面,同时分配大量其他内存(这可以在单独的过程中完成),并触摸所有其他页面,以便你关心的页面成为最近使用最少的页面,从而成为分页的候选页面


但不确定如何从用户空间中检测到它实际上已被分页。虚拟内存的意义在于对您隐藏它。我想,一旦你最终这样做了,通过计算访问内存所需的时间,你很有可能知道它是在事后被分页的

有什么可以搞乱/proc//pagemap的吗?