首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AIX内存分配的Redis

AIX内存分配的Redis
EN

Stack Overflow用户
提问于 2016-01-12 16:24:30
回答 1查看 319关注 0票数 2

我使用gcc在AIX6.1PPC系统中编译了Redis 3.0.6,但是当数据库试图超过2GB的RAM时,它就崩溃了。

编译器标志和环境变量是:

代码语言:javascript
复制
alias make="gmake"

export CC=gcc
export CFLAGS="-DAIX64 -DBIT64 -maix64 -D_AIX -D_AIX53 -D_AIX61 -I/opt/freeware/include -I/usr/include${CFLAGS_XTRA}"
export CXX=g++
export CXXFLAGS=$CFLAGS
export LDFLAGS="-DAIX64 -DBIT64 -maix64 -L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib/pthread/ppc64:/opt/freeware/lib:/usr/lib:/lib,-bmaxdata:0x80000000"

export AR="ar -X64"
export LIBPATH=.:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib
export OBJECT_MODE=64
echo Gcc environment variables \(CC,CFLAGS,LDFLAGS,LIBPATH,etc\) are set.

但是,当它达到2GB的RAM时,它会使用以下日志崩溃:

代码语言:javascript
复制
41680910:M 12 Jan 12:46:13.056 # Out Of Memory allocating 102709 bytes! 
41680910:M 12 Jan 12:46:13.056 # === REDIS BUG REPORT START: Cut & paste starting from here === 
41680910:M 12 Jan 12:46:13.056 # ------------------------------------------------ 
41680910:M 12 Jan 12:46:13.056 # !!! Software Failure. Press left mouse button to continue
41680910:M 12 Jan 12:46:13.057 # Guru Meditation: "Redis aborting for OUT OF MEMORY" #redis.c:3572 
41680910:M 12 Jan 12:46:13.057 # ------------------------------------------------

它也会崩溃,我试着执行

代码语言:javascript
复制
redis-server --test-memory 2048

但如果我执行

代码语言:javascript
复制
redis-server --test-memory 2047

所以很明显,它必须有一个2GB的限制,我找不到。

有什么想法或进一步的信息需要吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-12 19:08:30

试着省略-bmaxdata:0x80000000。在64位构建时,此参数将堆大小限制为2GB。在32位构建时,它将将低缺省值提高到2GB。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34748787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档