gperftools性能测试工具的简单介绍

gperftools性能测试工具的介绍

在google的高并发线程池的源码中,就存在有gperftools的性能测试工具。在google高并发线程池中在自身的内存管理malloc/free的时候就使用到了tcmalloc,并且tcmalloc组件出自google开源的gperftools性能分析集,并且现在的很多场景都是基于tcmalloc带来的好处,例如tcmalloc用于提升mysql等等组件的性能,那么我们就来简单的理解一下gperftools是什么吧

gperftools介绍

gperftool是Google开源的一款非常的性能分析工具集。主要由四个组件组成:

  • Tcmalloc内存分析器

Tcmalloc 是Thread Cache malloc的缩写, 是一种更加快速的内存管理库
Tcmalloc的原理是每一个线程单独的分配一个线程本地的Cache,少量的地址分配就直接从Cache中分配,并且做定期的垃圾回收,将线程本地Cache中空闲的内存返回给全局控制堆; Tcmalloc认为小于等于32k的对象是小对象,大对象是直接从全局控制堆以页的单位进行分配,所以大对象总是页对齐;Tcmalloc中一个页可以存入一些相同大小的小对象,小对象从链表中分配,大对象从中心内存堆分配

优点

  1. 快速:相比ptmalloc2, Tcmalloc的性能成倍提升。尤其是Tcmalloc可以减小多线程之间锁的竞争问题,在小对象上(<32k)上能达到零竞争。
  2. 占用空间小。相比ptmalloc2, Tcmallc对小对象进行了优化。
  3. 不易出现内存暴涨现象。(ptmalloc2使用内存池,长时间没有将内存还给系统就会造成暴涨)
    关于ptmalloc的简单介绍 https://blog.csdn.net/weixin_43939593/article/details/103436257
  • Heap-profiler

Heap -profiler是内存监控器,可以随时知道内存的使用情况。

  • Heap-checker

Heap-checker是专门检测内存泄露的工具

  • Cpu-profiler

Cpu-profiler主要是通过采样的方式,给出一段时间内程序时间占用CPU时间进行统计和分析

发布了55 篇原创文章 · 获赞 12 · 访问量 5258

猜你喜欢

转载自blog.csdn.net/weixin_43939593/article/details/103425952