内存管理中的cold page和hot page, 冷页 vs 热页
来源:互联网 发布:手机怎么举报淘宝卖家 编辑:程序博客网 时间:2024/04/28 15:13
所谓冷热是针对处理器cache来说的,冷就是页不大可能在cache中,热就是有很大几率在cache中。
网上还有一种说法:冷页就是冷的页,热页就是热点的页,解释的真好 :)
cold page和hot page的概念可以参考LWN的一片文章http://lwn.net/Articles/14768/
2.5.45内核,Martin Bligh和Andrew Morton以及其他人提交了一个内核分配器patch,引入了hot-n-cold pages的概念,这个概念本身是和现在处理器架构息息相关的。
以往我们认为系统内存是存储数据最快的地方。事实上并不是这样,最快的地方是处理器内部的cache。因此最近几年,有很多内核优化方法是尽量利用处理器cache,避免使用主存。hot-cold page就是其中之一。
处理器cache保存着最近访问的内存。kernel认为最近访问的内存很有可能存在于cache之中。hot-cold page patch因此为per-CPU建立了两个链表(每个内存zone)。当kernel释放的page可能是hot page时(可能在处理器cache中),那么就把它放入hot链表,否则放入cold链表。
当kernel需要分配一个page时,新分配器通常会从per-CPU的hot list获取页面,甚至我们获得的页面马上就要写入新数据的情况下,仍然能获得较好的速度。当然也有些情况下,申请hot page不会获得性能上的提高,只要申请cold page就可以了。比如DMA读操作需要的内存分配,设备会直接修改内存并且无效相应的cache。所以内核分配器提供了GFP_COLD分配标记来声明从cold page链表分配内存。
使用per-CPU page链表也削减了锁竞争,提高了性能。
Andrew Morton 测试了这个patch,在不同环境下获得了%1 ~%12不等的性能提升,因此Linus接受了这个patch
- 内存管理中的cold page和hot page, 冷页 vs 热页
- 热备份、温备份、冷备份(Hot/Warm/Cold Backup)
- 热备份、温备份、冷备份(Hot/Warm/Cold Backup)
- 热备份、温备份、冷备份(Hot/Warm/Cold Backup)
- 热备份、温备份、冷备份(Hot/Warm/Cold Backup)
- linux内存管理中的page
- COLD VS HOT OBSERVABLES
- GNU中attribute中的cold和hot
- Angular2:Cold vs Hot Observables
- Algs4-1.4.34热还是冷-猜出秘密数(Hot or Cold guess a secret integer)
- 操作系统内存管理的两种机制--swap和page
- 深入理解linux内存管理之 页框管理结构page
- Page Frame Management 页框管理
- 区分->page和.page
- 内存管理-page初始化,分配与回收
- Page指令和错误页设置
- Page Template(页模板)
- 代码页( code page)
- numpy, scipy, eclipise各种笔记
- IT运维之Linux服务器监控方案
- C语言关键字const
- 聊聊并发(一)——深入分析Volatile的实现原理
- linux中断处理浅析
- 内存管理中的cold page和hot page, 冷页 vs 热页
- jQuery学习总结
- 目标检测(Object Detection)原理与实现(二)
- Wiki 1935(美食节-费用流动态加点/边)
- 进程相关的数据结构
- 浪费时间的15种坏习惯
- 限制鼠标出去自己的窗口
- js获得父窗体的属性
- jQuery ---post()