教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 MySQL服务器进程CPU占用100%解决办法

MySQL服务器进程CPU占用100%解决办法

发布时间:2023-05-02   编辑:jiaochengji.com
教程集为您提供MySQL服务器进程CPU占用100%解决办法等资源,欢迎您收藏本站,我们将为您提供最新的MySQL服务器进程CPU占用100%解决办法资源
现在使用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

您可能感兴趣的文章:
MySQL sleep进程连接过多卡住了问题解决办法
php记录服务器负载、内存、cpu状态的代码
system Idle Process CPU占用率高是什么原因?如何解决
mysql sleep连接过多的解决方法
php程序随机记录mysql rand()造成CPU 100%的解决方法
php中使用proc/loadavg监控CPU的平均负载
使用pptv看电影时cpu提示100%怎么解决
php获取linux服务器CPU、内存、硬盘使用率的实现代码
php获取CPU使用情况的代码
php获取计算机唯一标识信息(cpu,网卡,MAC地址)的代码

[关闭]
~ ~