redis中可以使用的内存分配的库和redis默认是被build成32位的可执行程序

在redis中的makefile中,可以看到redis可以使用四种内存管理的库分别是glibc/jemalloc/tcmalloc/tcmalloc_minimal
从Makefile中可以看出如果是linux系统的话,默认用的是jemalloc
# Default allocator
ifeq ($(uname_S),Linux)
	MALLOC=jemalloc
else
	MALLOC=libc
endif
#如果指定USE_TCMALLOC的话,则使用tcmalloc
# Backwards compatibility for selecting an allocator
ifeq ($(USE_TCMALLOC),yes)
	MALLOC=tcmalloc
endif

ifeq ($(USE_TCMALLOC_MINIMAL),yes)
	MALLOC=tcmalloc_minimal
endif

ifeq ($(USE_JEMALLOC),yes)
	MALLOC=jemalloc
endif
由于makefile中的赋值是从上到下的,因此如果用户同时指定USE_TCMALLOC/USE_TCMALLOC_MINIMAL/USE_JEMALLOC
那以最后一次的赋值为准,即使用jemalloc.
从makefile中还可以知道redis源码编译时默认的优化等级是O3。可以调整为O3试试,OPTIMIZATION?=-O2
从这个目标可以知道,redis默认是被build成32 bit的应用程序的。

32bit:
	@echo ""
	@echo "WARNING: if it fails under Linux you probably need to install libc6-dev-i386"
	@echo ""
	$(MAKE) CFLAGS="-m32" LDFLAGS="-m32"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值