MYSQL使服务器内存CPU占用过高问题的分析及解决方法
时间:2019-02-17 13:37:50 阅读:48708次 分类:APP开发
最近的项目刚开始上线,以前没觉得什么,现在客户都反应系统反应太慢,需要解决,于是我在服务器查看了一下CPU占用情况,果然,mysql数据库就占了百分之九十六七,所以想到了必须要使CPU占用率降下来。
(1)show processlist; 结果如下
mysql> show processlist;
+--------+-----------------+--------------------+------+---------+---------+-----------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+-----------------+--------------------+------+---------+---------+-----------------------------+------------------+
| 4522 | event_scheduler | localhost | NULL | Daemon | 2315739 | Waiting for next activation | NULL |
| 258137 | CMAbutler | 10.14.85.121:55035 | CMA | Sleep | 5337 | | NULL |
| 258138 | CMAbutler | 10.14.85.121:55036 | NULL | Sleep | 5360 | | NULL |
| 260446 | root | localhost | NULL | Query | 0 | NULL | show processlist |
| 264040 | root | localhost | CMA | Sleep | 0 | | NULL |
+--------+-----------------+--------------------+------+---------+---------+-----------------------------+------------------+
5 rows in set (0.00 sec)
先简单分析一下各列的含义和用途,第一列,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崩溃。
(2)首先查看等待时间
mysql> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------+
1 row in set (0.00 sec)
(3)重设值
mysql> set global wait_timeout=200;
云枢智联(海南)信息技术有限公司专注于新一代信息技术与行业场景深度融合,面向政务警务、商业运营、城市治理、交通基建、智慧民生等多领域提供全栈式数字化解决方案。公司核心产品与服务体系完备,涵盖商管ERP系统、小票数据采集系统、涉案车辆管理系统、智慧园区系统、智慧农贸系统、低空经济应用平台、资产管理系统、数字孪生系统、公路养护系统、家政服务系统、警服体验系统、生态警务系统及AI智能体定制开发;同时依托强大自研技术能力和技术团队,提供小程序定制开发、智能硬件定制集成等增值服务,以技术创新赋能产业升级,为客户打造安全、高效、智能、可扩展的数字化整体解决方案。
在现代企业运营中,固定资产的管理是一个至关重要的任务。然而,传统的资产管理方式往...