• 2024-02-22ptmalloc、tcmalloc与jemalloc对比分析
    背景介绍在开发微信看一看期间,为了进行耗时优化,基础库这层按照惯例使用tcmalloc替代glibc标配的ptmalloc做优化,CPU消耗和耗时确实有所降低。但在晚上高峰时期,在CPU刚刚超过50%之后却出现了指数上升,服务在几分钟之内不可用。最终定位到是tcmalloc在内存分配的时候使用自旋锁,在锁冲
  • 2023-10-17linux内核:伙伴算法、slab算法、ptmalloc、tcmalloc使用场景
    linux内核空间Linux内核空间分为三个区域ZONE:ZONE_DMA,ZONE_NORMAL,ZONE_HIGHMEM物理地址空间的顶部以下一段空间,被PCI设备的I/O内存映射占据,它们的大小和布局由PCI规范所决定。640K~1M这段地址空间被BIOS和VGA适配器所占据由于这两段地址空间的存在,导致相应的RAM空间不
  • 2023-09-26Mysql使用 jemalloc 内存分配器
    /usr/lib64/libjemalloc.so是一个动态链接库文件,它包含了jemalloc内存分配器的实现。jemalloc是一个通用的内存分配器,旨在为多线程应用程序提供优秀的性能。它通常被用在需要高效内存管理的应用程序中,如数据库服务器、Web服务器等。安装库文件这个库文件一般是通过系统的包
  • 2023-07-23ptmalloc
    1、ptmalloc的3个层级:arena、bin、chunk1)arenaa)arena是内存分配区,主线程会创建mainarena,其他线程会创建threadarena,也就是存在多个arena,这样可以避免锁的竞争。mainarena会通过sbrk()来扩容,它始终是一个连续的内存块。threadarena不是说每一个线程都是创建自身分