mysql版本是5.7.33,采用采用malloc-lib=tcmalloc的方式启动,有这样的报错信息:mysqld_safe --malloc-lib must be an absolute path ignoring value 'tcmalloc'
看了tcmalloc安装路径,是:
ll /usr/lib/libtcmalloc.so
lrwxrwxrwx 1 root root 29 Apr 16 17:49 /usr/lib/libtcmalloc.so -> /usr/local/lib/libtcmalloc.so*
看启动源码,也是找这样的路径 ,查了下/usr/lib/libtcmalloc.so -> /usr/local/lib/libtcmalloc.so* 是存在的。
查看了下官方网文档,,有一个可以写在配置文件里面的方法,
[mysqld_safe]
malloc-lib=/usr/lib/libtcmalloc.so
然后启动,就不会报错了,看看tcmalloc和默认的ptmalloc内存分配机制的tps性能有何区别,如果能优化的话,后续可以考虑使用tcmalloc内存机制,这是google开源的一个内存分配机制,能更好的利用cpu和内存,支持更高并发。