mysql - 一段时间后,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%。在进程列表中,我通常会看到很多慢速连接。
如何调整数据库?
解决方案
推荐阅读
- tensorflow - 在 GPU 工作站上设置 Kubernetes 集群的最佳实践
- android - 错误 - 无法加载 AppCombat 操作栏,出现未知错误
- sql - SQL Sum of Points by Company and Team 其中用户有积分、公司、团队
- javascript - 在第一次/最后一次单击时循环显示和隐藏文本/div
- reactjs - 如何包装我得到的 JSON 对象,以便在 js 中添加属性/方法?
- sql - 在 BigQuery 中使用标准 SQL 连接数组(每行)
- arrays - 具有斜率函数的Excel数组公式
- reactjs - 组件标签内的条件语句
- ios - 产生的数字必须与 arc4random 不同
- node.js - 使用 Noble/Node 使用句柄订阅特征