redis中可以使用的内存分配的库和redis默认是被build成32位的可执行程序
2018-03-01 11:27
597 查看
在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"
相关文章推荐
- C/C++程序的内存分配与使用笔记
- 使用IMalloc接口来分配内存演示程序
- VMWARE 下使用 32位 Ubuntu Linux ,不能给它分配超过3.5G 内存?
- 栈(Stack) 任何程序执行前,预先分配一固定长度的内存空间
- windows7/vs2008/32位程序/默认设置,new能分配的最大空间
- 程序中查看init.rc文件中给每个进程分配的最大内存使用
- 如何在32位程序中突破地址空间限制使用超过4G的内存
- redis简单测试用例(内存不足,可以使用redis)
- 检测Python程序执行效率及内存和CPU使用的7种方法
- Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大
- 检测Python程序执行效率及内存和CPU使用的7种方法
- 如何在32位程序中突破地址空间限制使用超过4G的内存
- 使用TCMalloc可选择使用内存分配程序
- windows7/vs2008/32位程序/默认设置,new可分配最大空间
- X86 32位机器程序运行中多字节数据内存使用
- 32位程序使用超过4G的内存
- 今天就教大家查看手机的内存使用情况,可以帮你查看自己的程序占用了多大的内存(图文说明)
- Redis学习笔记3-Redis5个可执行程序命令的使用
- J2SE基础篇——数据类型、运算符、语句、程序执行时内存分配、进制、编码
- 如果系统能够保证不在0x000000007fffffff以上的地址分配内存,那么应用程序就能够正常运行。把一个高33位都为0的64位地址截断为32位地址,无论如何都不会产生问题。系统可以提供这一保证,