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

虚拟内存管理-抖动和工作集

1. 抖动(Thrashing)

定义:进程在运行中频繁发生页面换入换出的现象(刚换出的页面立即换入,刚换入的页面立即换出)。

根本原因
分配给进程的驻留集过小(物理块不足),无法满足进程当前工作集需求,导致频繁缺页,进程大部分时间用于磁盘I/O(页面调度),几乎无法执行有效计算。

后果:CPU利用率急剧下降(趋于0),系统吞吐量严重降低。

解决思路

  • 调整驻留集大小(增加进程物理块)。
  • 基于工作集动态分配内存,确保驻留集≥工作集。

2. 工作集(Working Set)

定义:进程在最近一段时间间隔(工作集窗口) 内频繁访问的页面集合(反映进程当前活跃的内存需求)。

核心参数

  • 工作集窗口尺寸(Δ):时间间隔长度(如最近1000条指令、最近5个页面访问)。
  • 工作集W(t, Δ):在时刻( t ),窗口Δ内访问的页面集合(去重)。

示例:页面访问序列 [1,2,3,2,5,3,4],窗口Δ=5 → 工作集W(t,5)={2,3,5}(最近5次访问的页面)。

性质

  • 工作集大小随窗口Δ增大而增大,最终稳定(覆盖进程所有页面)。
  • 局部性好的程序,工作集大小远小于总页面数(如循环程序的工作集稳定)。

 意义:驻留集大小必须≥工作集大小,否则会因“活跃页面未驻留”导致频繁缺页,引发抖动。


3. 基于工作集的内存管理策略

目标:动态调整进程驻留集,使其等于或略大于当前工作集,避免抖动。

实现

  1. 为每个进程维护工作集(记录最近Δ个访问的页面)。
  2. 定期(如每10ms)计算工作集大小,若驻留集<工作集,申请更多物理块;若驻留集>工作集,释放多余物理块。

效果:既保证进程有足够内存运行(低缺页率),又不浪费内存(多道程序并发度高)。


核心考点 📌

  1. 抖动的原因:驻留集<工作集 → 频繁缺页 → 大量磁盘I/O。
  2. 工作集的作用:反映进程当前活跃页面需求,指导内存分配(驻留集≥工作集是避免抖动的关键)。
  3. 工作集窗口Δ:Δ过小→工作集不稳定(缺页率高);Δ过大→工作集包含不活跃页面(内存浪费)。

总结

        抖动是虚拟内存管理的“致命问题”,根源是内存分配不足;工作集通过刻画进程动态内存需求,为合理分配内存提供依据。两者共同构成了虚拟内存“动态调整驻留集”的理论基础,确保系统高效运行。

一句话记忆:抖动因驻留集太小,工作集是活跃页面集,驻留集≥工作集可避抖动! ✨

http://www.dtcms.com/a/283909.html

相关文章:

  • 告别手动报表开发!描述数据维度,AI 自动生成 SQL 查询 + Java 导出接口
  • Python暑期学习笔记3
  • 100201组件拆分_编辑器-react-仿低代码平台项目
  • 使用Proxy设计模式来增强类的功能:ToastProxy和DesktopToast的设计关系
  • suricata新增Mysql告警规则处理
  • 专业职业评估工具,多维度数据分析
  • 网络安全基础操作2
  • 第十四章 gin基础
  • Spring Boot 中 META-INF 的作用与功能详解
  • 荷塘水上闯关游戏:Python OpenGL 3D游戏开发实战详解
  • 简单实现一个接口限流
  • 逆向破解京东评论加密参数|Python动态Cookie解决方案
  • 基于 Electron + Vue 3 的桌面小说写作软件架构设计
  • 共用体(联合体)
  • React Native 基础tabBar和自定义tabBar - bottom-tabs
  • Python编程进阶知识之第二课学习网络爬虫(requests)
  • 【真·CPU训模型!】单颗i7家用本,4天0成本跑通中文小模型训练!Xiaothink-T6-mini-Preview 技术预览版开源发布!
  • 对话弋途科技:当AI重构汽车大脑,一场车载操作系统的“觉醒年代“开始了
  • 【理想汽车智驾方案介绍专题 -1】端到端+VLM 方案介绍
  • 113:路径总和 II
  • Go语言时间控制:定时器技术详细指南
  • uni-app 配置华为离线推送流程
  • Go语言高并发聊天室(三):性能优化与压力测试
  • 【物联网】基于树莓派的物联网开发【11】——树莓派无法启动修复解决方案
  • Transformer从入门到精通
  • Spring Boot整合阿里云OSS企业级实践:高可用文件存储解决方案
  • 【Docker基础】Docker-compose基础认知:从核心概念到实战解析
  • 闽南话里的俗语(俚语、谚语、歇后语)
  • S7-1200 模拟量模块全解析:从接线到量程计算
  • 苍穹外卖项目日记(day11)