【读书活动感悟】—特稳定—《深入理解LINUX内核》-内存篇_文章

【读书活动感悟】—特稳定—《深入理解LINUX内核》-内存篇

冯军
发表于 2025-11-12 19:51:08

看这本老书犹如老树长新芽,内存管理那部分,真的让我重新认识了“内存”这两个字,原先写代码的时候,总感觉内存的申请和释放无非就是在堆上的 malloc/free,顶多再看看 top 命令看看每个进程的占用。但书里讲到页表、页框、伙伴系统算法、slab高速缓存、内存池等这些东西之后,才发现内核为了高效利用每一页内存,设计得简直像一台精密的机器,尤其是伙伴系统算法的链式空闲块管理,用链表分阶串联,对内存的回收合并和分配(避免碎片化),既简单又高效。

在之前服务器上出现的问题时,PageCache 这块让我印象最深。它是文件系统和内存之间的缓冲层,看似简单,实则是 I/O 性能的关键。当可用内存紧张时,内核会不断回收页,包括 PageCache,这就会触发频繁的读写回刷和换页。磁盘的 I/O 压力瞬间变大,CPU 大量等待 I/O 完成,于是你在 top 上看到 iowait 飙高。说白了,本来 PageCache 是为了加速文件访问,但内存吃紧时,它反而变成性能瓶颈。

读完之后最大的感受是,性能问题很多时候不是“CPU 不够快”,而是“内存不够用”。内核在背后忙着平衡缓存、换页、I/O等等操作,这本书让人对 Linux 的内存机制多了几分敬畏,也多了几分理解。

76 0

评论


意见反馈