問題:redis
[root@localhost redis-4.0.0]# make 性能
cd src && make all
make[1]: Entering directory `/root/data/redis-4.0.0/src'
CC Makefile.dep
make[1]: Leaving directory `/root/data/redis-4.0.0/src'
make[1]: Entering directory `/root/data/redis-4.0.0/src'
CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/root/data/redis-4.0.0/src'
make: *** [all] Error 2測試
解決方法:ui
# cd deps/lua
# make hiredis jemalloc linenoise lua geohash-int.net
#cd ..htm
#make內存
不要使用這樣的解決方式:make MALLOC=libchash
緣由(摘自:http://www.jb51.net/article/100575.htm):io
於tcmalloc,jemalloc和libc對應的三個內存分配器。其性能和碎片率如何呢?
下面是一個簡單測試結果,使用Redis自帶的redis-benchmark寫入等量數據進行測試,數據摘自採用不一樣分配器時Redis info信息。
咱們能夠看到,採用tcmalloc時碎片率是最低的,爲1.01,jemalloc爲1.02,而libc的分配器碎片率爲1.31,