[linux内存管理] 第 059 篇 /proc/slabinfo 详解 3日前 评论
[linux内存管理] 第 059 篇 /proc/slabinfo 详解

本文详细介绍了Linux内核SLUB内存分配器中`/proc/slabinfo`文件的内容与实现原理。文章首先说明SLUB是默认的内核对象分配器,并解释了通用缓存(如`kmalloc-*`)与专用缓存(如`dentry`)的管理框架。核心内容围绕如何利用`/proc/slabinfo`排查slab内存泄漏问题,包括结合`/proc/meminfo`、识别异常`kmem_cache`、进行时间序列采样及使用调试工具等步骤。此外,文章还分析了`/proc/slabinfo`在内核代码中的注册与`seq_file`接口实现。

[linux内存管理] 第020篇 Linux内核slab内存的越界检查SLUB_DEBUG的原理剖析 2025-02-11 评论
[linux内存管理] 第020篇 Linux内核slab内存的越界检查SLUB_DEBUG的原理剖析

越界访问常引发难以定位的系统异常,尤其在驱动开发中隐蔽性极高。SLUB DEBUG通过在分配内存对象周围设置特殊区域和magic数,有效检测越界(OOB)、用后即弃(UAF)等问题。借助Red zone和padding机制,能精准发现内存溢出及链表破坏,搭配slabinfo工具主动触发检测。