Ceph 14.2.8版本中tcmalloc存在内存泄漏的问题,需要将tcmalloc pagesize调整为64,重新编译,替换tcmalloc动态库,该操作在三个Ceph存储节点上均需要执行。
步骤1 tcmalloc编译。
- 编译准备。
mkdir /home/gperftools;cd /home/gperftools
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.8/
gperftools-2.8.tar.gz --no-check-certificate
tar -zvxf gperftools-2.8.tar.gz;cd gperftools-2.8
- 编译。
./configure --prefix=/usr/local/lib --with-tcmalloc-pagesize=64
make
make install
步骤2 动态库替换。
echo '/usr/local/lib/lib/' >> /etc/ld.so.conf
ldconfig
步骤3 重启Ceph服务。
systemctl restart ceph.target
步骤4 检查libtcmalloc。
ldd /usr/bin/ceph-osd
libtcmalloc已经链接到指定路径的版本,替换成功。