90、深入解析内存页帧回收机制

深入解析内存页帧回收机制

在计算机系统中,内存管理是至关重要的一环,尤其是页帧回收机制,它对于维持系统的稳定运行和高效性能起着关键作用。下面将详细介绍页帧回收机制的各个方面。

1. 从inode缓存中回收页帧
  • shrink_icache_memory()函数 :用于从inode缓存中移除未使用的inode对象。这里的“未使用”指的是inode不再有控制它的dentry对象。该函数首先检查gfp_mask参数中的__GFP_FS位,然后调用prune_icache()函数,最后根据inode缓存中仍包含的未使用inode数量和sysctl_vfs_cache_pressure变量的值返回一个值。
  • prune_icache()函数 :扫描inode_unused列表,为了释放一个inode,该函数会释放与inode关联的任何私有缓冲区,使页缓存中引用该inode且不再使用的干净页帧无效,然后使用clear_inode()和destroy_inode()函数销毁inode对象。
2. 定期回收机制

页帧回收机制(PFRA)通过两种不同的机制进行定期回收:
- kswapd内核线程
- 必要性 :一些内存分配请求由中断和异常处理程序执行,它们不能阻塞当前进程等待页帧释放;此外,一些内存分配请求由已经获得对关键资源的独占访问的内核控制路径执行,因此不能激活I/O数据传输。在所有内存分配请求都由这类内核控制路径执行的罕见情况下,内核将无法释放内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值