总结整理linux内核的内存管理的资料,包含论文,文章,视频,以及应用程序的内存泄露,内存池相关
本repo搜集整理全网Linux内核---内存管理模块相关知识。
所有数据来源于互联网。所谓取之于互联网,用之于互联网。
如果涉及版权侵犯,请邮件至 [email protected] ,我们将第一时间处理。
如果您对我们的项目表示赞同与支持,欢迎您 lssues 我们,或者邮件 [email protected] 我们,更加欢迎您 pull requests 加入我们。
感谢您的支持!
This Repo collects and organizes the whole network Linux kernel -- memory management module related knowledge.
All data comes from the Internet. The so-called take from the Internet, use for the Internet.
If copyright infringement is involved, please email [email protected] and we will deal with it as soon as possible.
If you agree to our project and support, welcome lssues, we, or email [email protected] us, More welcome pull requests to join us.
Thank you for your support.
---------内存管理系列文章---------
内存管理系列五:alloc_pages从伙伴系统申请空间简易流程
----------英文文章鉴赏----------
Linux: large-memory management histories
Looking at kmalloc() and the SLUB Memory Allocator
Memory Management in OS: Contiguous, Swapping, Fragmentation
Memory Management in Operating System
Operating System - Memory Management
Virtual Memory in OS: What is, Demand Paging, Advantages
----------分割线----------
多核心Linux内核路径优化的不二法门之-slab与伙伴系统
一文了解,Linux内存管理,malloc、free 实现原理
Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈
内存管理 ---Slab | 内存映射 | kmalloc | vmalloc | 内核源码 | MM | brk
90分钟了解 Linux内存架构--- numa的优势 | slab的实现 | vmalloc的原理
内存分配与回收机制---伙伴算法|slab分析|内存映射|进程虚拟空间|请求调页|写时复制
3种内存泄漏的解决方案--hook|malloc函数|free函数|避免内存泄漏
剖析Linux内核MMU机制---页表原理|高速缓存|TLB工作原理|内存映射|不连续页原理
Linux内核内存管理(一)---内存映射|空间管理|ARM32/64页表|slab分配器|malloc
Linux内核内存管理(二)---malloc|mmap|反向映射|缺页中断处理|回收页面|KSM实现|内存漏洞|匿名页面
Linux内核内存管理(三)---Slab机制架构|物理页面|管理区|分配/释放页面
Linux内核之内存页回收---LRU及反向映射?如何异步回收、直接回收?以及回收slab缓存
Linux内核内存管理专题训练营(一)---伙伴系统|slab分配器|vmalloc()|malloc()|TLB|虚拟内存|缺页机制
Linux内核内存管理专题训练营(二)---伙伴系统|slab分配器|vmalloc()|malloc()|TLB|虚拟内存|缺页机制
Linux内核精讲之内存管理---物理内存组织|内核引导|内存映射
Linux物理内存页面分配---kmalloc|slab/slub|页框分配机制
Linux内存问题终极探讨---虚拟内存|内存池|内存泄漏|管理组件
-----西安交通大学内存管理(24讲)提取码1024-----
《Memory Management 101: Introduction to Memory Management in Linux》
《Virtual Memory Management Techniques in 2.6 Kernel and Challenges》
《Linux Physical Memory Page Allocation》
Valgrind:Valgrind是一个用于构建动态分析工具的工具框架。有一些Valgrind工具可以自动检测许多内存管理和线程错误,并详细分析你的程序。您还可以使用Valgrind来构建新的工具。 Valgrind发行版目前包括7个产品质量的工具:一个内存错误检测器、两个线程错误检测器、一个缓存和分支预测分析器、一个调用图生成缓存和分支预测分析器,以及两个不同的堆分析器。它还包括一个实验性的SimPoint基本块向量生成器。
AddressSanitizer:Google出品的内存检测工具
a. 先用 free 和 top,查看系统整体的内存使用情况。
b. 用vmstat及pidstat查看内存变化情况,确定内存问题类型
c. 详细分析,如内存分配分析、缓存/缓冲区分析、具体进程的内存分析