有什么技巧可以故意换出 linux 内核中的页面吗?
Is there any trick to deliberately swap out a page in linux kernel?
我试图调试一些问题,我想想象一个物理内存页面被换出的场景。有什么技巧可以做到这一点吗?
Linux内核:3.10.x
平台:手臂
非常感谢。
如果您的意思是 "in the linux kernel" 那么是的。有些函数会导致页面被交换,您可以直接调用这些函数。以 pageout()
为起点。我怀疑将所有这些设置都恰到好处是非常重要的。
如果你的意思是"is there a way to do it from user-space",答案是否定的。好吧,不是直接的(无论如何 AFAIK)。您最好的选择是不要进一步接触有问题的页面,同时分配大量其他内存(这可以在单独的过程中完成)并接触所有其他页面,以便您关心的页面最近最少使用,因此寻呼候选。
不确定如何 -- 从用户 space -- 你会检测到它实际上 已经 被分页了。虚拟内存的要点是对你隐藏它。我想你很有可能知道它在事后被分页了,方法是计算你最终访问内存需要多长时间。
我试图调试一些问题,我想想象一个物理内存页面被换出的场景。有什么技巧可以做到这一点吗?
Linux内核:3.10.x
平台:手臂
非常感谢。
如果您的意思是 "in the linux kernel" 那么是的。有些函数会导致页面被交换,您可以直接调用这些函数。以 pageout()
为起点。我怀疑将所有这些设置都恰到好处是非常重要的。
如果你的意思是"is there a way to do it from user-space",答案是否定的。好吧,不是直接的(无论如何 AFAIK)。您最好的选择是不要进一步接触有问题的页面,同时分配大量其他内存(这可以在单独的过程中完成)并接触所有其他页面,以便您关心的页面最近最少使用,因此寻呼候选。
不确定如何 -- 从用户 space -- 你会检测到它实际上 已经 被分页了。虚拟内存的要点是对你隐藏它。我想你很有可能知道它在事后被分页了,方法是计算你最终访问内存需要多长时间。