当前位置: 首页 > news >正文

50、深入解析页框回收机制

深入解析页框回收机制

1. 页框回收算法概述

Linux在为用户模式进程或内核分配动态内存之前的检查相对宽松。例如,对于单个用户创建的进程所分配的总RAM量没有严格检查,对内核使用的众多磁盘缓存和内存缓存的大小也没有限制。这种设计能让内核充分利用可用的RAM。当系统负载较低时,RAM主要被磁盘缓存填充,少数运行的进程可从缓存信息中受益;而当系统负载增加时,RAM主要被进程页面填充,缓存会缩小以为更多进程腾出空间。

内存和磁盘缓存会不断占用页框,但从不释放。这是因为缓存系统无法确定进程何时会重用缓存数据,也就无法确定应释放的缓存部分。此外,用户模式进程通过需求分页机制获取页框,但该机制无法强制进程在不再使用页框时释放它们。

因此,迟早所有的空闲内存都会被分配给进程和缓存。Linux内核的页框回收算法通过从用户模式进程和内核缓存中“窃取”页框,来重新填充伙伴系统的空闲块列表。实际上,页框回收必须在所有空闲内存被用完之前进行,否则内核可能陷入致命的内存请求链,导致系统崩溃。因为释放一个页框需要将其数据写入磁盘,而这一操作又需要另一个页框(如分配I/O数据传输的缓冲区头),若没有空闲页框,就无法释放任何页框。所以,页框回收的目标之一是保留一个最小的空闲页框池,以便内核能从“内存不足”的情况中安全恢复。

2. 选择目标页

页框回收算法(PFRA)的目标是挑选页框并使其变为空闲。显然,PFRA选择的页框必须是非空闲的,即不能已经包含在伙伴系统使用的free_area数组中。

PFRA根据页框的内容以不同方式处理它们,可分为不可回收页、可交换页、可同步页和可丢弃页,具体如下表所示:
|

http://www.cnnetsun.cn/news/46920.html

相关文章:

  • ERNIE 4.5-VL-424B-A47B:百度异构MoE架构重塑多模态大模型效率边界
  • 5分钟掌握路径规划地图:栅格与拓扑算法深度解析
  • 3步终极方案:彻底解决GitHub教程图片加载失败问题
  • 66、操作系统内核关键概念与技术解析
  • 5、ConfigMgr 边界组创建与客户端安装指南
  • 音乐资源获取工具终极指南:免费畅享海量音乐的神器
  • k6性能测试深度解析:8大核心技术策略助力企业系统优化
  • 微软VibeVoice-1.5B深度体验:从技术小白到语音合成达人的真实历程
  • Qwen3-32B智能推理模型:双模式思维架构深度解析
  • 开源贡献如何加速你的技术职业发展
  • AMD显卡运行Ollama大模型:2025年零基础部署终极指南
  • 如何用Rust快速构建跨平台桌面应用:终极指南
  • 1.2B参数改写边缘智能规则:LFM2-Tool模型实现毫秒级工具调用
  • 终极Emby体验指南:用Tsukimi打造完美个人影院 [特殊字符]
  • Awesome Blender:3D建模爱好者的终极资源宝典
  • Path of Building中文版PoeCharm终极指南:从萌新到大佬的完全解析
  • MPEG-DASH Widevine DRM视频解密技术深度解析
  • 15、Ubuntu实用技巧大揭秘
  • 终极中文字体解决方案:SimSun获取与使用全指南
  • 22、Linux 字体与语言设置全攻略
  • 25、Linux图形处理全攻略
  • 26、Linux 图形与音频应用指南
  • 27、探索Ubuntu系统中的音频应用世界
  • Archery数据库导出实战:告别手动拼接,一键搞定Excel和JSON格式
  • 0.8秒修复1080P视频:SeedVR-3B重构行业效率标准,成本直降90%
  • 34、Ubuntu实用技巧大揭秘
  • ERNIE 4.5量化版实战指南:如何用4张GPU部署3000亿参数大模型
  • TrollInstallerX深度解析:iOS系统越狱新纪元
  • 解密pyenv:版本管理黑科技如何重塑Python开发体验
  • Assistant-UI语法高亮终极教程:3分钟让你的代码展示效果翻倍