阅读量:0
-
优化MySQL配置
- 修改
/etc/my.cnf,调整关键参数:innodb_buffer_pool_size:设置为系统总内存的50%-80%(如innodb_buffer_pool_size=4G),这是内存主要消耗项。tmp_table_size/max_heap_table_size:限制临时表内存(如256M),避免大查询占用过多内存。- 关闭查询缓存(MySQL 8.0已默认禁用,旧版本可设为
0)。
- 重启MySQL生效:
systemctl restart mysqld。
- 修改
-
优化查询与索引
- 使用
EXPLAIN分析慢查询,添加索引避免全表扫描。 - 限制结果集大小(
LIMIT),避免SELECT *。 - 定期优化表:
OPTIMIZE TABLE。
- 使用
-
系统级优化
- 关闭透明大页(THP):
(永久生效需添加到echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag/etc/rc.local)。 - 监控内存使用:通过
top、htop或pmap查看mysqld进程内存占用,重点关注RES(物理内存)。
- 关闭透明大页(THP):
-
硬件与架构优化
- 增加物理内存,尤其适用于高负载场景。
- 将MySQL临时文件目录(
tmpdir)指向高速存储(如SSD)。
注意:修改配置前需备份数据,建议在测试环境验证后再应用到生产环境。
以上就是关于“centos mysql内存使用过高怎么办”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm