tcmalloc

这有一些常见问题解答.

请简单介绍?

tcmalloc是由google公司早期开发的内存分配器, 可以轻松与大部分项目配合使用.

如何快速使用?

我们可以通过以下方式来使用

1. 动态链接

通过动态链接tcmalloc/tcmalloc_minimal, 这种方式适用于大部分系统(包括:Windows)

2. 优先加载

通过设置LD_PRELOAD=/path/libtcmalloc.so, 这种方式适用于大部分Unix-Like系统.

优势和性能差异?

您可以在性能指标文章里获得信息, 也可以通过从网上分享的文章来了解更多.

这里简单描述一下优势:

申请和分配的含义?

对于 将系统中可用的内存空间分配给程序或进程以供其使用 的行为, 我们将其称为: 申请内存. 而 “将之前已申请但不再使用的内存块交还” 的行为, 我们将其称为: 释放内存

如果您使用不同的编程语言, 则会有不同的使用:

可以缓解内存碎片吗?

可以! 没有使用tcmalloc的程序在动态地分配和释放内存时, 会导致内存中出现不连续的小块空闲内存. 这些小块空闲内存如果不能被有效地利用就会形成内存碎片.

tcmalloc利用合理的内存池和分配策略能减少频繁的向系统进行小内存的分配, 在缓解内存碎片产生的同时减少了大量系统调用, 因此可以认为提高了整体的内存申请效率.

为什么比xLibc的性能更差?