驻留集过大会怎么样

驻留集过大会怎么样 驻留集大好处只有一个缺页少坏处却有一堆内存浪费、并发度低、开销大。而且“大”不代表“好”一旦超过当前进程的工作集多出来的页框全是“无效投资”甚至会有副作用。我从三个维度帮你彻底理清1. 优点唯一的好处缺页率极低进程在内存里的页面多程序运行时需要的页面大概率已经在内存里了几乎不发生缺页中断CPU不用频繁等待I/O进程本身的运行速度极快。2. 缺点这是408和实际系统设计的重点内存利用率低内部碎片/浪费进程可能只频繁用10个页工作集10但你给了它50个页框。剩下的40个页框里放的可能是进程初始化时用过一次、再也不会碰的“冷数据”。这些宝贵的物理内存被白白占用却不能带来任何性能提升。多道程序并发度Multiprogramming Level急剧下降物理内存总大小是固定的比如4GB。如果给每个进程的驻留集都很大那么内存里能同时容纳的进程数量就变少了。原本能同时跑10个程序现在只能跑2个。当CPU在等待其中一个进程I/O时因为没有其他进程可切换CPU只能空转导致系统整体吞吐量Throughput反而降低。上下文切换开销变大进程切换时操作系统需要保存和恢复内存映射表页表基址等。进程占用的内存页框越多操作系统在切换时要处理的页表项就越多切换耗时变长系统额外开销增大。3. 核心考点驻留集“大”到什么程度最好408考纲看重“驻留集”与“工作集”的关系。这里有三个结论你可以直接背驻留集 工作集最差情况。频繁缺页导致抖动Thrashing系统瘫痪。驻留集 工作集最佳情况。缺页率降到可接受范围同时内存利用率最高并发度最大化。驻留集 工作集低效情况。如上面第2点所说虽然不缺页了但内存浪费并发度降低系统整体性能反而下降。一个形象的比喻帮你记住驻留集 你家租的房子面积。工作集 你每天需要用的家具和杂物数量。租的面积远小于杂物量驻留集小你每天要把东西搬进搬出累死抖动。租的面积刚好等于杂物量驻留集工作集东西刚好放下租金最划算最佳。租的面积远大于杂物量驻留集大房子空荡荡很宽敞但你付了巨额房租却浪费了空间导致你没法再租其他仓库放别的东西也拿不出钱去租旁边的店铺并发度下降、浪费。408答题金句驻留集并非越大越好。它应略大于或等于进程的当前工作集这样才能在保证低缺页率的同时提高内存利用率和系统并发度。