我尝试将 jemalloc 与 MySQL 一起使用。我发现我应该将环境变量 LD_PRELOAD 添加到 SystemD 单元,仅此而已。
但lsof /usr/lib/x86_64-linux-gnu/libjemalloc.so.2
什么也没显示。我还尝试使用 LD_PRELOAD 从 cli 启动 MySQL,但仍然没有成功。
在 Debian 12 和 Ubuntu 22.04 上使用 MySQL 8.0.34 进行了测试。我做错了什么?
答案1
可能,我的错误是我lsof
没有使用sudo
.现在我尝试了一下sudo lsof /usr/lib/x86_64-linux-gnu/libjemalloc.so.2
,发现实际上mysqld是使用jemalloc库。但由于某种原因,sudo lsof <libpath>
Debian 上没有显示进程,但如果我使用sudo lsof -p <pid>
,我会看到该进程正在使用预加载的库。