jemalloc(jemalloc) ╰+攻爆jí腚メ 2023-09-26 15:08 55阅读 0赞 ## centos 6.4上安装jemalloc不能编译,错误如下: ## 没装gcc编译环境,先把gcc包装上 yum install gcc 如果configure提示其它缺少的,也得装上vi /etc/sysconfig/network 增加或修改: gateway=192.168.1.1 重启网络服务 ![jemalloc(jemalloc)\_jemalloc(jemalloc)][jemalloc_jemalloc_jemalloc_jemalloc] ## redis 内存碎片是什么意思 ## Redis默认使用jemalloc分配内存,根据fast'14的最佳论文的说法,当遇到变长key-value负载时,会出现碎片问题:内存利用率低,实际分配的内存比所需要的内存多。因此我用YCSB对Redis的内存进行了测试。 1、实验的第1阶段:向Redis插入100万条记录,key为20字节,value为100字节,皆为定长,理论上的有效数据大约是120MB。 2、阶段2:产生90万个update请求,请求为均匀随机分布(每个key被选中的概率相等),key值不变,但value变为130字节。一次update相当于删除原来的100字节,再插入一个130字节。 3、阶段3:产生90万个update请求,value变为170字节。 4、阶段4:产生90万个update请求,value变为210字节。 5、接着12个阶段,每次都是90万个update请求,value长度渐增。 6、最后一个阶段不产生任何请求,重启redis。对于tcmalloc,jemalloc和libc对应的三个内存分配器。 其性能和碎片率如何呢?下面是一个简单测试结果,使用redis自带的redis-benchmark写入等量数据进行测试,数据摘自采用不同分配器时redis info信息。 [jemalloc_jemalloc_jemalloc_jemalloc]: https://img0.baidu.com/it/u=994286684,2480067616&fm=15&fmt=auto
还没有评论,来说两句吧...