暂无图片
如果MySQL数据库的服务器CPU占用非常高,该如何处理?
我来答
分享
2023-03-15
如果MySQL数据库的服务器CPU占用非常高,该如何处理?

如果MySQL数据库的服务器CPU占用非常高,该如何处理?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
宇飞

当服务器CPU占用很高时,可以先用操作系统命令top观察是不是mysqld占用导致的,如果不是,那么找出占用高的进程,并进行相关处理;如果是mysqld造成的,那么可以使用show processlist命令查看里面数据库的会话情况,是不是有非常消耗资源的SQL在运行。找出消耗高的SQL,看看执行计划是否准确,index是否缺失,或者确实是数据量太大造成。一般来说,肯定要kill掉这些线程(同时观察CPU使用率是否下降),然后进行相应的调整(例如,加索引、改写SQL、改内存参数)之后,再重新运行这些SQL。也有可能是每个SQL消耗资源并不多,但是突然之间,有大量的会话连接数据库导致CPU飙升,这种情况就需要跟应用一起来分析为何连接数激增,再做出相应的调整,例如,限制连接数等。

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
pg和mysql之中该如何选择?
回答 7
已采纳
https://blog.csdn.net/youzhouliu/article/details/124994728这里面有详细介绍
MySQL 表数据才五万不到,根据字段匹配更新两千条数据很慢,怎么处理?
回答 1
1、看下执行计划2、看下执行时候的cpu、内存、io情况。
MySQL中的SHA2("hello",256)这个函数,达梦对应的是什么?
回答 2
可通过dbmsobfuscationtoolkit包实现https://eco.dameng.com/document/dm/zhcn/pm/dbmsobfuscationtoolkitpackage
vscode 配置MySQL
回答 1
已采纳
1、安装vscode:https://code.visualstudio.com/Download,这个软件安装还是比较简单的,在此就不赘述了;2、打开vscode,打开软件左边的扩展栏,搜索MySQ
mysql中通过哪个系统表能标识出哪些表是普通表,哪些表是视图,哪些是分区表?
回答 1
selectfrominformationschema.tables;tabletype字段就可以区分。
pymysql 无法获取mysql更新后的数据?
回答 1
看下事务隔离级别showvariableslike'%transactionisolation%';
mysql show profile 中executing是在做什么?
回答 1
先解析一下每一个状态的意义:starting:开始checkingpermissions:检查权限Openingtables:打开表init:初始化Systemlock:系统锁optimizing:优
mysql如何执行@作为结束符的sql文件
回答 1
在脚本中加一行DELIMITER@ 结束符就是@而不是;了如果要改回分号,可以用 DELIMITER;
THREAD_OS_ID 怎么在系统层面找不到对应?
回答 1
mysql是单进程多线程模式,所以看到的是线程号(所以你猜猜thread是啥意思?).使用ps的话,得加个T(Showthreads,possiblywithSPIDcolumn)才行,也就是psef
ogg 捕获MySQL库问题
回答 1
一个进程就是配置一个库的,如果你还想配置其他库里面的表,再起一个进程。另外即使是在配置oracle数据库,也只能是一个捕获进程对应一个库的。