加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL服务器进程CPU占用100%处理办法

发布时间:2022-06-16 11:54:43 所属栏目:MySql教程 来源:互联网
导读:现在使用mysql数据库服务器的朋友有很多,我们也经常会碰到mysql进程CPU占用100%,下面我来总结一些解决方法. 解决方法一,修改my.cnf文件,找到 query_cache_size=0 估计就是这个问题在造成的,没有开查询缓存,一般1G 就64M缓存,我的服务器的内存4G,调整到如下代
  现在使用mysql数据库服务器的朋友有很多,我们也经常会碰到mysql进程CPU占用100%,下面我来总结一些解决方法.
 
  解决方法一,修改my.cnf文件,找到
 
  query_cache_size=0
 
  估计就是这个问题在造成的,没有开查询缓存,一般1G 就64M缓存,我的服务器的内存4G,调整到如下代码:
 
  query_cache_size  =256M  
 
  如果你系统需要大的临时缓存我们可以再找到如下代码:
 
  tmp_table_size
 
  修改 My.ini,将 tmp_table_size 赋值到 200M 这个大小大家可自行调整.
 
  linux系统 占用cpu 100% 问题处理
 
  原因分析:部署的应用每30秒与master report一次,每次report,都新建一个到mysql的连接,处理完之后,再关闭mysql连接,但是在mysql连接关闭之后,tcp资源并没有释放,在2-3分钟内还是会处于TIME_WAIT状态.
 
  在高IO操作时,会造成对mysq请求的堆积,新建大批的mysql连接,然后再关闭,所以就会有超多TIME_WAIT的tcp连接.
 
  最终导致新来的mysql连接,没有tcp资源可以用,最后mysql connect fail.
 
  可能的解决方案:
 
  1.更改应用连接的方式,更改为每个线程对应一个mysql长连接,变短连接为长连接.
 
  2.改变mysql数据库所用磁盘,使得与应用不部署在同一台物理机上,或者使用独立的磁盘。
 
  3.更改mysql配置项:innodb_flush_log_at_trx_commit = 2

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读