Linux内存管理(四十五):直接内存回收详解
源码基于:Linux5.4
0. 前言
在 页面回收简介 一文中,我们将Linux 内核中触发页面回收的机制大致分为 3 种:
- 直接页面回收机制
- 周期性回收内存机制(kswpad)
- slab 收割机
在 kswapd 详解 一文第 2.2 节详细总结了唤醒 kswapd 内核线程的 3 种方式:
- 出现内存碎片时唤醒 kswapd:此方式来自快速分配时发现当前 migrate type 中没有页面,但是能从其他 migrate type 中 steal 页面出来时,认为系统存在碎片,需要唤醒 kswapd 进行回收;
- 内存严重短缺时唤醒 kswapd:此方式来自慢速分配,当通过快速分配方式之后,无法分配出pages,分配器进行慢速申请。当 gfp_mask 设定了 __GFP_KSWAPD_RECLAIM 时,会首先唤醒 kswapd 进行内存回收,此次不是阻塞方式;
- 直接回收
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
