首页
›
Linux内核与驱动
›
037-Linux内核内存管理
›
《Linux LRU页面回收分析与内存压力调优》
VIP10
本课程属于:037-Linux内核内存管理
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux LRU页面回收分析与内存压力调优
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
内存回收概述
物理内存紧张时的系统行为 · OOM Killer触发条件 · 页面回收的三种主要途径(直接回收
内存回收概述
物理内存紧张时的…
02
LRU链表基础
LRU(最近最少使用)算法的基本原理 · Linux内核中LRU链表的设计初衷…
LRU
链表基础
03
页面类型与LRU分类
匿名页(Anonymous Page… · 各自在LRU链表中的管理方式
LRU
页面类型
04
Active与Inactive链表
双链LRU的工作模型 · 页面在active与inactive…
Active
Inactive
05
LRU链表的数据结构
struct lruvec · struct page中的lru字段 · pglist_data与lruvec…
LRU
链表的数据结构
06
页面着色与NUMA感知
NUMA架构下的LRU链表分布 · 页面着色(Page Coloring…
NUMA
页面着色
07
lru_cache_add与页面入链
新页面分配后如何加入LRU链表 · lru_cache_add函数的实现…
lru
cache
08
mark_page_accessed与访问位
页面访问标记机制 · PG_referenced标志位的作… · 访问位的定期扫描
mark
page
09
page_referenced与反向映射
通过反向映射(RMAP)查找页面被哪… · 计算引用计数
page
referenced
10
页面回收的触发时机
直接回收(direct reclai…
页面回收的触发时…
direct
11
kswapd内核线程
kswapd的初始化 · 睡眠与唤醒机制 · 平衡内存区域的水位线算法
kswapd
内核线程
12
shrink_node与节点回收
shrink_node函数的整体流程 · 遍历lruvec进行页面扫描
shrink
node
13
shrink_lruvec与扫描控制
shrink_lruvec如何控制扫… · 扫描优先级(priority)的动态…
shrink
lruvec
14
get_scan_count与扫描比例计算
根据页面类型(匿名/文件)和swap…
get
scan
15
shrink_active_list与活跃页降级
将active链表中的页面移动到in… · 判断页面是否仍然活跃
shrink
active
16
shrink_inactive_list与非活跃页回收
从inactive链表回收页面 · 调用isolate_lru_page…
shrink
inactive
17
isolate_lru_pages与页面隔离
页面隔离机制 · 避免回收过程中的竞态条件 · 隔离计数与批量处理
isolate
lru
18
页面回收的步骤
try_to_unmap与页面解除映… · pageout与页面回写 · free_page与页面释放
页面回收的步骤
try
19
try_to_unmap与反向映射解除
通过RMAP遍历VMA · 解除PTE映射 · 处理共享页面
try
to
20
pageout与页面回写
脏页的回写机制 · 调用writepage回调 · 回写完成后的处理
pageout
页面回写
21
swap机制与匿名页换出
swap分区的概念 · swap_entry_t与swap… · 匿名页换出到磁盘
swap
机制
22
swap cache与页面换入
swap cache的作用 · do_swap_page与页面换入流… · swap slot的管理
swap
cache
23
页面回收的统计与监控
/proc/meminfo中的相关字… · /proc/vmstat中的回收事件… · tracepoint的使用
页面回收的统计
监控
24
内存压力通知机制
vmpressure与memory… · 用户态监控内存水位
内存压力通知机制
vmpressure
25
OOM Killer详解
OOM Killer的触发条件 · 选择badness分数的计算 · oom_score_adj的调整
OOM
Killer
26
LRU链表与CGroup内存隔离
Memory CGroup中的lru… · cgroup间的页面回收隔离
LRU
CGroup
27
页面回收的性能调优
swappiness参数的调整 · watermark_scale_fa…
页面回收的性能调…
swappiness
28
透明大页(THP)与LRU
透明大页的拆分与回收 · 大页对LRU链表管理的影响
THP
LRU
29
页面回收的锁与并发控制
lru_lock锁机制 · zone->lru_lock的演变 · per-cpu页向量与批量操作
页面回收的锁
并发控制
30
未来演进与替代方案
Multi-Gen LRU(MGLR… · 与经典LRU的对比 · 在Android与服务器端的应用
未来演进
替代方案
所属VIP或分类
同VIP:ARM64-Linux页表编程与地址转换调试
同VIP:Linux内核内存管理与故障诊断调优
同VIP:Linux进程地址空间管理与内存映射调试