首页 > 解决方案 > 一段时间后,Mysql 数据库开始使用大量 CPU

问题描述

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

innodb_file_per_table=ON
innodb_buffer_pool_size = 8G
aria_pagecache_buffer_size = 2000M
max_connections = 150
max_allowed_packet=500M

tmp_table_size = 64M (was 16M before)

slow_query_log = 1
long_query_time = 1
slow_query_log_file = /var/log/mariadb/slow-query.log

我的 Centos 服务器上有 20GB 的 RAM 和 Raid HDD。我有 php-fpm、nginx 和 mariadb 配置。当我重新启动 mariadb 服务时,系统稳定,根据 TOP,MYSQL 消耗了大约 30% 的 CPU。在几个小时内,内存消耗正在增长,但不是很快。但随着时间的推移,当 MYSQL 开始消耗 10GB 的 RAM 时,它开始使 CPU 过载至大约 500%。在进程列表中,我通常会看到很多慢速连接。

如何调整数据库?

标签: mysqlmariadb

解决方案


推荐阅读