Jemalloc 是一种高效的内存分配器,可以显著减少 Mysql 和 PHP 的内存占用。它通过智能分配、复用和压缩技术来优化内存使用,提高性能。
使用 Jemalloc 优化 Mysql 和 PHP 内存占用
Jemalloc 是一个高效的内存分配器,它可以替代默认的 glibc malloc 和 free,通过使用 Jemalloc,可以显著减少 Mysql 和 PHP 的内存占用,提高系统的性能。
1、安装 Jemalloc
在 Linux 系统中,可以通过以下命令安装 Jemalloc:
sudo aptget install libjemallocdev
2、编译并安装带有 Jemalloc 的 Mysql
从 MySQL 官方下载源代码包,然后执行以下步骤:
解压源代码包 tar xvf mysql5.7.35.tar.gz cd mysql5.7.35 配置编译选项,指定使用 Jemalloc CFLAGS="DWITH_JEMALLOC=1" CXXFLAGS="DWITH_JEMALLOC=1" LDFLAGS="ljemalloc" ./configure prefix=/usr/local/mysql withcharset=utf8mb4 withcollation=utf8mb4_unicode_ci enablethreadsafeclient enablelocalinfile withplugins=innobase,csv,myisam,shared 编译并安装 Mysql make && make install
3、编译并安装带有 Jemalloc 的 PHP
从 PHP 官方下载源代码包,然后执行以下步骤:
解压源代码包 tar xvf php7.4.0.tar.gz cd php7.4.0 配置编译选项,指定使用 Jemalloc export CFLAGS="DWITH_JEMALLOC=1" CXXFLAGS="DWITH_JEMALLOC=1" LDFLAGS="ljemalloc" ./configure prefix=/usr/local/php enablefpm withconfigfilepath=/usr/local/php/etc enableinlineoptimization withcurl withmysqli withpdo_mysql withzlib enablezip enablembstring enablesockets enableexif enablesoap enablexmlreader enablexmlwriter enablesimplexml enablecalendar enablesysvsem enablesysvshm enablepcntl enableftp enablegd withjpegdir=/usr/local withpngdir=/usr/local withfreetypedir=/usr/local withzlib withopenssl withmcrypt withgettext withmysqli=mysqlnd withmysql=mysqlnd 编译并安装 PHP make && make install
4、重启 Mysql 和 PHP 服务
sudo service mysql restart sudo service php7.4fpm restart
问题与解答:
Q1: 我使用的是其他版本的 Mysql 或 PHP,如何进行优化?
A1: 对于其他版本的 Mysql 或 PHP,可以参考上述步骤,修改相应的源代码包版本和编译选项,对于 Mysql,可以从官方下载相应版本的源代码包,然后执行 ./configure
时指定正确的版本号,对于 PHP,可以从官方下载相应版本的源代码包,然后执行 ./configure
时指定正确的版本号,按照上述步骤编译并安装即可。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/351903.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复