完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、Jemalloc 简介
Jemalloc是由Jason Evans在FreeBSD项目中引入的内存分配管理器,它的优势在于减少内存碎片和提升高并发场景下内存的分配效率。 Jemalloc中的基本概念和数据结构 size_class: 每个 size_class 代表 jemalloc 分配的内存大小,共有 NSIZES(232)个小类(如果用户申请的大小位于两个小类之间,会取较大的,比如申请14字节,位于8和16字节之间,按16字节分配),分为2大类:small_class和large_class Base: 用于分配 jemalloc 元数据内存的结构,通常一个 base 大小为 2mb, 所有 base 组成一个链表。 bin: 管理正在使用中的 slab(即用于小内存分配的 extent) 的集合,每个 bin 对应一个 size_class extent: 管理 jemalloc 内存块(即用于用户分配的内存)的结构,每一个内存块大小可以是 N*page_size(N >= 1)。 slab: 当 extent 用于分配 small_class 内存时,称其为 slab。一个 extent 可以被用来处理多个同一size_class 的内存申请。 extents: 管理 extent 的集合。 arena: 用于分配&回收 extent 的结构,每个用户线程会被绑定到一个 arena 上,默认每个逻辑 CPU 会有 4 个 arena 来减少锁的竞争,各个 arena 所管理的内存相互独立。 rtree: 全局唯一的存放每个 extent 信息的 Radix Tree cache_bin: 每个线程独有的用于分配小内存的缓存 tcache: 每个线程独有的缓存(Thread Cache),大多数内存申请都可以在 tcache 中直接得到,从而避免加锁 tsd: Thread Specific Data,每个线程独有,用于存放与这个线程相关的结构
ARM64 CentOS系统下MySQL使用jemalloc时的问题和解决方法.pdf
(463.23 KB, 下载次数: 1
)
原作者:Martin1983 |
|
相关推荐
|
|
Cortex-A55 处理器到底什么来头?创龙教仪一文带您了解
333 浏览 0 评论
RK3568 + OpenCV 会碰撞出什么火花?案例详解:2-1 基于OpenCV的画线实验
371 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-运动追踪之编写程序
551 浏览 0 评论
RK3568国产处理器_教学实验箱_操作教程:1-22 密码学编程实验
301 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-运动追踪之六轴传感器icm20607介绍
477 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 17:17 , Processed in 0.473297 second(s), Total 37, Slave 28 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号