【Linux内存管理16】本文将简单分析下vmalloc()的工作原理以及其缺陷。和kmalloc()相比,vmalloc()有较大的缺陷,因此在实际工程中,vmalloc()是不被建议使用的。
【Linux内存管理15】本文是slab系统系列文章的第三篇也是最后一篇,这篇笔记主要分析slab系统的释放过程。
2023年投资实盘大亏,用这个模拟盘来做个交代吧。
【Linux内存管理14】本文是slab系统系列文章的第二篇,这篇笔记主要分析slab系统的创建和内存的分配,其中后者是本文的重点。
之前停更了很久,几个月了,现在终于来到slab系统了。slab系统我也是看了很久才搞明白,这篇笔记主要针对slab系统的介绍、结构体以及初始化的过程。
为什么需要slab系统之前我们已经分析了伙伴系统,伙伴系统有一些自己的问题,比如只能管理2 ^ order个页的内存空间;比如每次分配和释放的流程都太长,除了影响性能外还可能导致CPU的缓存和TLB被污染;比如每次分配的内存空间都是按页对齐的...
【Linux内存管理12】本文是伙伴系统系列文章的第三篇,在这篇笔记中,我们继续来看看伙伴系统是如何进行内存释放的。同时,上一篇中剩下的关于fallback以及pcplist相关内容我也会进行深入地分析。
【Linux内存管理11】本文是伙伴系统系列文章的第二篇,在这篇笔记中,我们将深入学习伙伴系统是如何进行内存分配的。这里我们只关注内存充足的情况,不考虑内存不足需要回收等的情况。
【Linux内存管理10】本文是伙伴系统系列文章的第一篇,主要介绍伙伴系统的基本信息和一些背景知识。这篇文章不会涉及大量具体的函数分析,我会在后几篇笔记中详细分析伙伴系统对内存的分配、回收等操作。
【打脸系列01】这是我21年年底做的22年的投资策略。现在回看完全就是大型打脸现场,当时有多自信,现在看来就有多无知!
【Linux内存管理09】本文主要介绍Memblock是如何切换到伙伴系统(注意,这篇笔记不介绍伙伴系统)。在此之前,会对zonelist做一个简单的分析介绍。