什么是页缓存
我们知道文件一般存放在硬盘(机械硬盘或固态硬盘)中,CPU 并不能直接访问硬盘中的数据,而是需要先将硬盘中的数据读入到内存中,然后才能被 CPU 访问。
参考tcmalloc github官方文档
TCMalloc 是一种内存分配器,旨在替代系统默认分配器,具有以下特点:
可以实现大多数对象的快速、无竞争的分配和释放。 对象被缓存,具体取决于模式,每个线程或每个逻辑 CPU。 大多数分配不需要锁定,因此多线程应用程序争用少,扩展性好。
灵活使用内存,因此释放的内存可以重新用于不同的对象大小,或返回给操作系统。
通过分配相同大小的对象的“页面”来降低每个对象的内存开销。小对象的空间损耗很少。
低开销采样,可以详细了解应用程序内存使用情况。
下面的框图显示了 TCMalloc 的粗略内部结构: