- 论坛徽章:
- 0
|
本帖最后由 titer1 于 2012-04-05 23:34 编辑
在阅读 Understanding the Linux® Virtual Memory Manager,第二章中关于swap有下图:
![]()
涉及swap,有三个参数,page_min,page_max,pages_low,
下文中简称(min,max,low)
当可用页数 (available pages)小于min,启动kswapd
当可用页数 小于low,依然可以分配,只不过只能是fgp_atomic类型。
问题:图中,从min到low,页消耗率明显降低。但是小于low后,为何页消耗率会又增加?
在书上的注释说:
pages_min When pages_min is reached, the allocator will do the kswapd work in a synchronous fashion, sometimes referred to as the direct-reclaim path. Solaris does not have a real equivalent, but the closest is the desfree or minfree, which determine how often the pageout scanner is woken up.
我看完注释,依然不解。
当可用页数 恢复到max,此时kswap休眠。
期间,从min到low,从low 到high,前个区间回收页面的速率低,我认为前段区间有内存分配器的帮忙,后者只有kswapd工作。不知各位看法。
|
|