内核同页合并(KSM)多长时间全面运行?

时间:2017-04-10 20:41:45

标签: linux ubuntu memory-management system-calls kvm

我正在努力了解KSM的运行方式。阅读完文档:(https://github.com/torvalds/linux/blob/master/Documentation/vm/ksm.txt)  本文详细介绍了其实施情况:(https://landley.net/kdocs/ols/2009/ols2009-pages-19-28.pdf

据我所知,KSM最终会扫描所有已被madvise标记为VM_MERGEABLE的内存页面并完成一个完整的“KSM Pass”。我也明白,扫描被分解成几个“批处理”,内核线程将在进入睡眠状态之前扫描多个页面(pages_to_scan:默认为100)(sleep_millisecs:默认为20)并将继续执行此操作直到所有已扫描VM_MERGEABLE页面。

我看到参数(pages_to_scan和sleep_millisecs)被传递到ioctl(2)调用以开始扫描,但我不明白的是KSM在每个完整的“KSM Pass”之后运行的频率。我似乎无法找到关于此的任何信息。 KSM是否一直在运行(即在每次完整的“KSM Pass”之后重新启动)还是有一些延迟?

0 个答案:

没有答案