鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

CentOS下启动Redis官方容器时提示Unsupported system page size的解决方法

问题现象描述

在TaiShan服务器CentOS 7.6上使用docker run -it --rm redis命令启动Redis官方容器,提示如下信息:

<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size

关键过程、根本原因分析

Redis在新版本中默认使用了jemalloc进行内存管理。

由于jemalloc 在编译时就决定了page size的大小,而这个page size会由于kernel的配置而改变,因此jemalloc在某个机器上编译,然后运行在其它机器上时可能会出现问题。

推测可能是由于官方ARM镜像的编译环境的page size与当前运行环境的page size不一致导致的问题。

结论、解决方案及效果

在运行环境下,重新编译构建Redis镜像,即可解决该问题。

  1. 获取Redis官方镜像的dockerfile。
    git clone https://github.com/docker-library/redis.git
  2. 进入对应版本的dockerfile目录。
    cd redis
  3. 准备构建5.0版本的Redis镜像。
    cd 5.0
  4. 构建镜像。
    docker build -t redis:5.0 .

  5. 运行redis:5.0镜像,查看控制台输出,确认Redis成功启动。
    docker run -it --rm redis:5.0