数据库CPU飙升到100%的话怎么处理?

数据库CPU飙升到100%的话怎么处理?

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

posted @ 2022-07-19 19:33  java架构师1  阅读(464)  评论(0)    收藏  举报