[已软注销]对《Understanding the Linux Virtual Memory Manager》的笔记(2)
[已软注销] (Hello world)
-
第106页 Avoiding Fragmentation
外部碎片是无法满足大的分配要求,因为只存在小的内存块。 内部碎片是对于小的请求也只能分配大的内存块。 linux的外部碎片问题并不严重,因为大的请求可以通过vmalloc()分配一个物理地址上不连续但是虚拟地址上连续的内存块。只是伙伴系统的内部碎片问题非常严重,因为伙伴系统的最小单位也是页,这个单位对于直接分配结构体太大,所以内核还使用了slab分配器来解决这个问题。
-
第424页 Function: __alloc_pages() (mm/page_alloc.c)
__alloc_pages()分三个部分: 一。看是否能在不达到zone->pages_low水位的情况下满足分配要求,如能则直接分配。 二。否则zone需要balance,唤醒kswapd,并看能否在不达到zone->pages_min水位的情况下满足分配要求,如能则分配。 三。否则进入slow path,先看自己是否是即将被OOM killer杀掉的进程,如是则不管水位直接分配,否则自己同步地做kswapd该做的事。
[已软注销]的其他笔记 · · · · · · ( 全部82条 )
- 论美国的民主
- 1
- Big Debt Crises
- 1
- 论美国的民主
- 1
- The Defining Decade
- 1
- In The Plex
- 1
- Verbal Advantage
- 2
- Introduction to Algorithms (3/e)
- 1
- Merriam-Webster's Vocabulary Builder
- 1
- Programming Erlang
- 1
- Capital in the Twenty First Century
- 1
- Programming Clojure
- 1
- 编程珠玑
- 1
- 我们都要性小康
- 1
- Haskell趣学指南
- 1
- The Joy of Clojure
- 1
- 经济为什么会崩溃
- 1
- ZeroMQ
- 2
- 通往奴役之路
- 1
- Linux Firewalls
- 1
- The Datacenter as a Computer
- 1
- 国富论
- 1
- 构建高性能Web站点
- 1
- Programming Pig
- 1
- HTTP权威指南
- 1
- flex & bison
- 1
- The Little Book of Semaphores, 2nd Edition
- 2
- 依靠自我
- 1
- Operating Systems
- 9
- Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
- 4
- Linux内核完全剖析
- 1
- TCP/IP基础教程基于实验的方法
- 1
- MongoDB
- 1
- 如彗星划过夜空
- 3
- Just for Fun
- 8
- 编译原理及实践
- 1
- TCP/IP详解 卷1:协议
- 1
- Coders at Work
- 4
- 什么是数学
- 1
- 那些忧伤的年轻人
- 3
- 我也有一个梦想
- 1
- 软件随想录
- 1
- Event Processing in Action
- 1
- FLEX 与 BISON(影印版)
- 1
- ANSI Common Lisp
- 1
- 黑客与画家
- 7
- 九型人格
- 1