mysql> show processlist;

show processlist 命令详解:

processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句。

+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------

| Id | User  | Host             | db    | Command | Time| State      | Info

+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------

|207|root  |192.168.0.20:51718 |mytest | Sleep     | 5     |          | NULL

先简单说一下各列的含义和用途,第一列,id,不用说了吧,一个标识,你要kill一个语句的时候很有用。user列,显示单前用户,如果不是root,这个命令就只显示你权限范围内的sql语句。host列,显示这个语句是从哪个ip的哪个端口上发出的。呵呵,可以用来追踪出问题语句的用户。db列,显示这个进程目前连接的是哪个数据库 。command列,显示当前连接的执行的命令,一般就是休眠(sleep),查询(query),连接(connect)。time列,此这个状态持续的时间,单位是秒。state列,显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成,info列,显示这个sql语句,因为长度有限,所以长的sql语句就显示不全,但是一个判断问题语句的重要依据。

常见问题 :

一般是睡眠连接过多,严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。

解决办法 :

mysql的配置my.ini文件中,有一项:

wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止。

wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可能会遭遇到“MySQL has gone away”之类的问题,通常来说,我觉得把wait_timeout设置为10是个不错的选择,但某些情况下可能也会出问题,比如说有一个CRON脚本,其中两次SQL查询的间隔时间大于10秒的话,那么这个设置就有问题了(当然,这也不是不能解决的问题,你可以在程序里时不时mysql_ping一下,以便服务器知道你还活着,重新计算wait_timeout时间):

mysql> show global variables like 'wait_timeout';

+----------------------------+-------+

| Variable_name              | Value |

+----------------------------+-------+

| wait_timeout               | 120    |

+----------------------------+-------+

mysql> set global wait_timeout=20;

至此,mysql占用cpu下降了

mysql占用cpu过高,问题解决相关推荐

  1. Mysql占用CPU过高排查过程及可能优化方案

    1.查看生产DB服务器top列表, 执行 top 命令 2.使用root用户登录mysql 执行 show full processlist 查看慢查询,反复执行,如果发现一直有select 查询语句 ...

  2. MySQL占用CPU过高

    服务器MySQL占用CPU过高时,应排查的因素包括: 进程列表 排除高并发因素先要找到导致CPU过高的SQL mysql> SHOW PROCESSLIST; 查找负荷最重的SQL语句,优化该S ...

  3. mysql占用cpu特别高的解决_mysql占用CPU过高的解决办法

    下面是MYSQL占用CPU高处理的一个例子,希望对遇到类似问题的朋友们有点启发.一般来说MYQL占用CPU高,多半是数据库查询代码问题,查询数据库过多.所以一方面要精简代码,另一方面最好对频繁使用的代 ...

  4. linux的mysql占用cpu过高_linux 系统中Mysql 进程占用cpu过高的解决

    mysql进程CPU使用率过高,开始报警了. 为了快速解决问题直接重启mysql服务后,再查sysql进程CPU使用率依旧高居不下.故障还没有解决,继续寻找原因. 3.登陆mysql数据库,执行sho ...

  5. mysql 占用cpu过高

    mysql 最近因用户访问量的增大和数据的增多,导致占用cpu过大,甚至可达100% 所以,在网上找了些资料,进行cpu的优化 1. 修改my.ini的"tmp_table_size&quo ...

  6. mysql占用CPU过高解决

    背景 总结一次处理上线问题的经过.大量客户反馈说官方网站无法访问,赶紧登录数据库服务器后,居然数据库cpu飙升到1000%,业务网站无法访问.初步定位由于数据库原因,重启后,很快又飙升到1000%,没 ...

  7. MySQL占用CPU过高,排查原因及解决的多种方式法

    一.mysql中的wait_timeout坑 mysql> show variables like '%timeout%'; 首先你要明白: wait_timeout - 指的是mysql在关闭 ...

  8. mysql statistics cpu_(2条消息) Mysql占用CPU过高如何优化,如何解决

    1. SHOW PROCESSLIST 显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到所有线程.否则,您只能看到您自己 ...

  9. mysql 占用cpu高_mysqlCPU占用过高解决方案

    最近压测一个接口,发现吞吐率一直上不去,平均响应时间达到13秒多. 压测线程组设置如下: 200个线程,60秒内执行完成,每个线程循环60次.可以归纳为每秒启动200个线程. image.png 压测 ...

最新文章

  1. Python命名空间
  2. 12、Power Query-透视列实例应用(多单元格记录合并及汇总)
  3. JZOJ 5628. 【NOI2018模拟4.4】Travel
  4. python实现qq登录_在django中实现QQ登录
  5. concurrent(七)ConcurrentHashMap源码分析
  6. 一加7T Pro渲染图曝光:后置相机出乎意料
  7. java9 javafx_无法在java 9下针对java 8构建javafx应用程序
  8. 机器学习实战(十二)降维(PCA、SVD)
  9. Python深度学习(Deep Learning with Python) 中文版+英文版+源代码
  10. [转载] 民兵葛二蛋——第7集
  11. java生成 折线图
  12. 解决MarkDown打开出现:awesomium web-brower framework This view has crashed
  13. python做积分_python曲线积分
  14. shawn0102_播客:留下每年35万美元的工作以学习编码-Shawn Wang访谈
  15. 【毕业设计】46-基于单片机的智能卫浴系统设计(原理图工程+仿真工程+源代码+答辩论文+答辩PPT)
  16. javascript实现锁定网页、密码解锁效果(屏幕保护效果)
  17. OceanBase | 一文了解OBCA认证内容
  18. python彩蛋_Python的2个彩蛋
  19. SVAC1.0帧间预测技术分析
  20. 范冰冰李晨爱巢疑曝光 高科技智能停车场甩狗仔

热门文章

  1. 数据分析:什么是业务?全面解析问题
  2. 测试三层交换机ip routing和no switchport命令的区别
  3. HBuilder 代码格式化时清除空行
  4. 如何设计好软硬结合板的小技巧来啦~ 22021/11/22
  5. 水星无线网卡UD198H Ubuntu20.04 驱动安装
  6. 精品杀毒及防木马软件大全
  7. [INFOCOM 2019] NeuralWalk:使用神经网络的在线社交网络中的信任评估
  8. GAN学习教程 (一)
  9. Java小白入门200例42之 switch case语句
  10. 四位行波进位加法器_《城市:天际线》中的图灵机:用水电管道做一个四位加法器...