虚拟内存:申请 1GB,为什么没有立刻占用 1GB

虚拟内存:申请 1GB,为什么没有立刻占用 1GB

21分钟 ·
播放数0
·
评论数0

后端随身听|虚拟内存:申请 1GB,为什么没有立刻占用 1GB

程序申请了一大块内存,为什么机器的可用物理内存没有立刻减少同样大小?这一集从这个反直觉问题出发,讲清虚拟地址、页表、按需分页和缺页异常之间的关系。

重点内容:

  • 申请成功、实际访问和物理内存占用为什么不同

  • 页表如何把虚拟地址映射到物理页

  • 缺页异常为什么不一定是程序错误

  • 每页只写一个字节,为什么仍可能占用整页内存

  • TLB 未命中和缺页异常有什么区别

  • 换页、主要缺页和 OOM 如何影响服务

英文词对照:

  • Virtual Memory:虚拟内存

  • Physical Memory:物理内存

  • Page Table:页表

  • Demand Paging:按需分页

  • Page Fault:缺页异常

  • MMU:内存管理单元

  • TLB:地址翻译高速缓存

  • Copy-on-Write:写时复制

  • Swap:交换空间

  • OOM:内存耗尽