尝试在mysql 5.7.30中使用jemalloc
Linux db1 4.18.0-193.6.3.el8_2。x86_64 #1 SMP星期三6月10日11:09:32 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
MySQL 5.7.30
yum list installed显示:jemalloc。x86_64 5.2.1-2。el8 @epel
jemalloc文件在/usr/lib64/libjemalloc.so.2
添加…
[mysqld-safe]
malloc-lib=/usr/lib64/libjemalloc.so.2
…对my.cnf返回"未知变量";malloc-lib出错
设置[Service]
Environment="LD_PRELOAD=/usr/lib64/libjemalloc.so.2"
systemctl override文件中的不会改变任何东西
手动做的
出口LD_PRELOAD =/usr/lib64/libjemalloc.so.2
在重启之前也没有任何影响。
我错过了什么?
您需要在以下位置编辑systemd配置文件:
/etc/systemd/system/mariadb.service.d/
或
/etc/systemd/system/multi-user.target.wants/mariadb.service
尝试找到mariadb配置文件。
然后添加line:
Environment="LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2"
确保在该路径下有该文件。您可以将它放在不同的位置或使用不同的名称(如libjemalloc.so.1
)。
之后:
systemctl daemon-reload
并重新启动MariaDB。
用来检查是否安装了Jemalloc,在MariaDB控制台使用:
SHOW VARIABLES LIKE 'version_malloc_library';
应该显示"jemalloc",而不是"system"