
本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.
內存管理(一):硬件原理和分頁管理
內存管理(二):內存的動態申請和釋放
內存管理(三):進程的內存消耗和洩漏
內存管理(四):內存與IO的交換
內存管理(五):其他工程問題以及調優
---------內存管理系列文章---------
內存管理系列一:啟動簡介
內存管理系列二:創建啟動階段的頁表
內存管理系列三:MMU前CPU初始化及打開MMU
內存管理系列四:setup_arch簡介(內存管理初始化)
內存管理系列五:alloc_pages從夥伴系統申請空間簡易流程
內存管理系列六:夥伴系統之buffered_rmqueue
內存管理系列七:slub初始化
內存管理系列八:slub創建
內存管理系列九:slub申請內存
內存管理系列十:slub回收
內存管理系列十一:slub銷毀
內存管理系列十二:vmalloc內存機制
內存管理系列十三:VMA操作
內存管理系列十四:brk
內存管理系列十五:do_page_fault缺頁中斷
內存管理系列十六:反向映射RMAP
內存管理系列十七:內存池
內存管理系列十八:內存回收之LRU鍊錶
內存管理系列十九:內存壓縮算法
內存管理系列二十:內存壓縮算法之數據同步
內存管理系列二十一:內存回收入口
內存管理系列二十二:內存回收核心流程
----------英文文章鑑賞----------
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
Why Do We Need Virtual Memory
----------分割線----------
Linux 內核(5.4.81)—內存管理模塊源碼分析
glibc2.23 ptmalloc 原理概述
多核心Linux內核路徑優化的不二法門之-slab與夥伴系統
盡情閱讀,技術進階,詳解mmap原理
淺談Linux內存管理機制
Linux中的內存管理機制
C++中內存管理之new、delete
malloc和free的實現原理解析
常用寄存器總結
內存碎片之外部碎片與內部碎片
Linux虛擬內存管理,MMU機制,原來如此
一文了解,Linux內存管理,malloc、free 實現原理
內存管理之內存映射
內存管理之分頁
內存管理之內核空間和用戶空間
Linux 內存佔用分析的幾個方法,你知道幾個?
深入理解Linux 內存子系統
深入理解glibc malloc:內存分配器實現原理
圖解Linux 內存性能優化核心思想
一文讓你看懂內存與CPU之間的關係
linux內存管理---詳解
一文帶你了解,虛擬內存、內存分頁、分段、段頁式內存管理
深入淺出linux內存管理(一)
深入淺出linux內存管理(二)
為什麼linux需要虛擬內存
【總結時刻】物理內存空間管理
【總結時刻】用戶態內存映射
【總結時刻】內核態內存映射
虛擬地址空間——MMU
進程的虛擬內存空間
Linux內核源碼/內存調優/文件系統/進程管理/設備驅動/網絡協議棧
內存管理---Slab | 內存映射| kmalloc | vmalloc | 內核源碼| MM | brk
90分鐘了解Linux內存架構--- numa的優勢| slab的實現| vmalloc的原理
內存分配與回收機制---夥伴算法|slab分析|內存映射|進程虛擬空間|請求調頁|寫時復制
3種內存洩漏的解決方案--hook|malloc函數|free函數|避免內存洩漏
剖析Linux內核MMU機制---頁表原理|高速緩存|TLB工作原理|內存映射|不連續頁原理
虛擬內存空間之VMA實戰操作
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-----
背景
固定分區分配
連續內存分配
分頁
分頁硬件和TLB
分段管理
虛擬內存
請求調頁
頁面置換
頁面置換算法
幀分配
顛簸
《ARM的虛擬內存管理技術的研究》
《C語言的內存漏洞分析與研究》
《FreeRTOS內存管理方案的分析與改進》
《Linux Memory Management》
《Linux內存管理分析與研究》
《Linux內存管理的設計與實現》
《Linux內核中內存池的實現及應用》
《Linux內核中動態內存檢測機制的研究》
《Linux內核夥伴系統分析》
《Linux內核內存池實現研究》
《Linux實時內存的研究與實現》
《Linux操作系統內核分析與研究》
《Memory Management 101: Introduction to Memory Management in Linux》
《Memory Management in Linux》
《Memory Management》
《NUMA架構內多個節點間訪存延時平衡的內存分配策略》
《Nginx Slab算法研究》
《TCP_IP協議棧的輕量級多線程實現》
《VC中利用內存映射文件實現進程間通信的方法》
《Virtual Memory Management Techniques in 2.6 Kernel and Challenges》
《Visual C 中利用內存映射文件在進程之間共享數據》
《Linux Physical Memory Page Allocation》
《一個內存分配器的設計和實現》
《一種Linux內存管理機制》
《一種TLB結構優化方法》
《一種優化的伙伴系統存儲管理算法設計》
《一種基於虛擬機的動態內存洩露檢測方法》
《一種提高Linux內存管理實時性的設計方案》
《一種改進的Linux內存分配機制》
《一種改進的伙伴系統內存管理方法》
《一種跨平台內存池的設計與實現》
《一種高效的池式內存管理器的設計》
《雲計算平台中多虛擬機內存協同優化策略研》
《雲計算平台中多虛擬機內存協同優化策略研究》
《內存管理機制的高效實現研究》
《分頁存儲管理系統中內存有效訪問時間的計算》
《利用內存映射連續性提高TLB地址覆蓋範圍的技術評測》
《動態內存分配器研究綜述》
《動態存儲管理機制的改進及實現》
《基於C 的高效內存池的設計與實現》
《基於C 自定義內存分配器的實現》
《基於Linux內核的動態內存管理機制的實現》
《基於Linux內核頁表構建內核隔離空間的研究及實現》
《基於RDMA和NVM的大數據系統一致性協議研究》
《基於RDMA高速網絡的高性能分佈式系統》
《基於RelayFS的內核態內存洩露的檢測和跟踪》
《基於linux用戶態可自控緩衝區管理設計與實現》
《基於multimap映射的動態內存分配算法探究》
《基於雲計算虛擬化平台的內存管理研究》
《基於內存池的空間數據調度算法》
《多核系統內存管理算法的研究》
《實時系統內存管理方案的設計與實現》
《對linux夥伴系統及其反碎片機制的研究》
《嵌入式實時系統動態內存分配管理器的設計與實現》
《並發數據結構及其在動態內存管理中的應用》
《應用協同的進程組內存管理支撐技術》
《支持高性能IPC的內存管理策略研究》
《有效的C 內存洩露檢測方法》
《淺析夥伴系統的分配與回收》
《用戶態內存管理關鍵技術研究》
《申威處理器頁表結構Cache的優化研究與實現》
《虛擬化系統中的內存管理優化》
《面向Linux內核空間的內存分配隔離方法的研究與實現》
《頁面分配器的研究與實現》
Valgrind:Valgrind是一個用於構建動態分析工具的工具框架。有一些Valgrind工具可以自動檢測許多內存管理和線程錯誤,並詳細分析你的程序。您還可以使用Valgrind來構建新的工具。 Valgrind發行版目前包括7個產品質量的工具:一個內存錯誤檢測器、兩個線程錯誤檢測器、一個緩存和分支預測分析器、一個調用圖生成緩存和分支預測分析器,以及兩個不同的堆分析器。它還包括一個實驗性的SimPoint基本塊向量生成器。
AddressSanitizer:Google出品的內存檢測工具
a. 先用free 和top,查看系統整體的內存使用情況。
b. 用vmstat及pidstat查看內存變化情況,確定內存問題類型
c. 詳細分析,如內存分配分析、緩存/緩衝區分析、具體進程的內存分析