当前位置:首页 > 互联网 > 正文内容

使用 Jemalloc 优化 Mysql和PHP 内存占用

cmc3年前 (2022-11-26)互联网774

前几天有用户使用腾讯云轻量服务器,内存只有4G,他说由于流量有时候会暴涨,偶尔会出现内存紧张而导致系统把 Redis、Mysql 等内存大户kill掉的情况,虽然增加 Swap 可以解决这个问题,但swap性能比内存差太多,因此我想到使用 Jemalloc 优化内存占用。

Jemalloc 是 Facebook 推出的内存分配器,目前在 Firefox、Facebook 服务器、Android 5.0 等服务中大量使用,Jemalloc 最大的优势是其强大的多核/多线程分配能力,在内存足够大时,CPU的核心数量越多,程序线程数越多,Jemalloc的分配速度越快,根据测试数据,在高并发时性能优于 Google 推出的 Tcmalloc 和 Glibc 的 Ptmalloc。

除了性能高,Jemalloc 还降低了内存碎片化,能更好的利用内存。

使用 Jemalloc 优化 Mysql和PHP 内存占用

优化内存占用

Redis 默认使用了 Jemalloc,Redis-cli Info Memory 有如下输出:

Bash

复制

...
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_clients_slaves:0mem_clients_normal:0
mem_aof_buffer:0
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0

Mariadb/Mysql、PHP 等则默认使用系统自带的 Ptmalloc,因此可以替换成 Jemalloc 获得更好的内存使用率。

安装 Jemalloc

Bash

复制

# CentOS 系统
yum install -y jemalloc
# Ubuntu/Debian 系统
apt install -y libjemalloc2

安装完成后,CentOS系统在 /usr/bin 目录下会有 Jemalloc.sh 文件。可以通过 Jemalloc.sh 后续命令执行命令,例如:Jemalloc.sh Node app.js,从而用上 Jemalloc 分配和管理内存。

对于 Ubuntu/Debian 系统,或者 CentOS 系统上以 Systemctl 启动的服务,需要通过如下方式用上 Jemalloc:

1、设置 LD_PRELOAD 环境变量:export LD_PRELOAD=libjemalloc.so 路径: $LD_PRELOAD,然后再运行命令 / 使用 systemctl 重启服务,其中 CentOS 系统下 libjemalloc.so 的路径是 /usr/lib64/libjemalloc.so.2,Ubuntu/Debian 的路径是 /usr/lib/x86_64-linux-gnu/libjemalloc.so.2,然后应该能想到把 export 语句放置到 .bashrc 文件中,以便后续都生效;

2、设置系统全局使用,方法是新建 /etc/ld.so.preload 文件,把 libjemalloc.so 路径写入文件,然后重启 Mariadb、PHP-FPM 等服务;

老杨给用户采取第二种方式,配置好 /etc/ld.so.preload 后重启 Mariadb、PHP-FPM,可通过下面的命令查看是否用上了 Jemalloc:

lsof -n |grep jemalloc

最后总结

本文简要介绍了使用 Jemalloc 优化 Mysql、PHP 内存占用的方法和操作步骤,并给出查看进程是否用上 Jemalloc 的命令,达到优化内存占用的目的。

通过上述配置,内存优化能有多少呢?说实话对于低于4G内的小内存服务器改进并不大,但对于4G以上有着明显的改观。


扫描二维码推送至手机访问。

版权声明:本文由陈茂春的博客发布,如需转载请注明出处。

本文链接:https://www.0817cmc.com/post/779.html

分享给朋友:

相关文章

高速有线宽带降临 速度提高50倍

本周三,据芬兰的一家名为Teleste的宽带设备制造公司透露,最快在明年,有线电视互联网宽带接入的速度就能达到100Mbps,比目前有线电视互联网宽带接入的平均速度快50倍。 目前的光纤网络也可以达到相近的数据传输速率,但是对于运营商...

54万!白血病女孩佘艳留下7份救命钱

54万!白血病女孩佘艳留下7份救命钱

昨日,对7个患白血病等重大疾病且面临生死危机的成都孩子来说,具有非常特别的意义。因为一个名叫“佘艳”的孩子,这7个孩子的命运得到彻底的改变——“我来过我很乖”的佘艳送给了这7个正徘徊在生死边缘的小朋友同一个礼物:“生命”。这7个孩子分别是杨...

反击捆绑:四款插件卸载软件横向评测

反击捆绑:四款插件卸载软件横向评测

流氓软件为祸网络,已经是一件不争的事实,它们通过与软件的捆绑、与网站页面的捆绑(包括著名的门户和下载站点)来达到强行安装到用户电脑的目的,虽然大部分软件还是有其用处的,不过有小部分软件除了强行安装外还会对你的操作系统造成不稳定因素,甚至暗藏...

实测KGB压缩:解开1.4MB的Office2007之迷

实测KGB压缩:解开1.4MB的Office2007之迷

压缩软件界永远有说不完的故事,Winzip虽然还有着少量的更新,但国内用的人已经很少了,皆因大量的压缩文件都是RAR格式的,而Winzip不可以支持这种格式,所以绝大部分的江山,都给兼容Zip格式的WinRAR抢去了。  不过最近网上出现了...

2万元的笔记本卖6千 一个奸商的忏悔录

我的低价陷井  这世界,什么样的人不爱占小便宜?   即然有“低价”需求,自然要有“低价”的供应,所谓供求平衡嘛!   眼见各网站电子商务开展的如火如茶,若不趋势捞得一笔,怎对得起生我养育我的父老乡亲!   那就开个网站吧?简单!稍稍懂点简...

一个大学毕业生善良的哭泣

06年的钟声已敲响,我是伴随跨年度的零点钟声哭着来到06年。05年是我人生中最沮丧的一年,就如同我在网上、电视里、报纸上看到的不忿一样,人们是那样的关心黑社会流氓的霸道,关心妓女的形形色色,怎么就没有人关心关心二流三流大学毕业生在社会上怎么...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。