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

编译RocksDB过程中提示Cannot allocate memory的解决方法

问题现象描述

编译RocksDB过程中提示“Cannot allocate memory”。

关键过程、根本原因分析

执行make -j编译RocksDB时,会使用所有CPU核数,导致内存不够。

结论、解决方案及效果

  1. 删除当前目录下的所有文件和子目录。
    1
    rm -rf *
    
  2. 使用CMake工具编译安装RocksDB数据库,并指定安装路径为“/usr/local/rocksdb”,该路径可根据实际情况修改。
    1
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rocksdb -DWITH_SNAPPY=1 -DWITH_ZLIB=1 -DWITH_LZ4=1 -DWITH_ZSTD=1 -DWITH_BZ2=1 ..
    
  3. 查看CPU核数。
    1
    lscpu
    
  4. 再次执行编译命令,同时减少CPU核数。
    1
    make -j 8