MySQL服务器进程CPU占用100%解决办法
程序员文章站
2022-03-28 12:01:25
...
现在使用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 这个大小大家可自行调整。
系统 占用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. 更改项:innodb_flush_log_at_trx_commit = 2
推荐阅读
-
php 随机记录mysql rand()造成CPU 100%的解决办法
-
Svchost.exe进程CPU占用100%解决探讨
-
Antimalware Service Executable进程CPU占用高的解决办法
-
MySQL占用内存较大与CPU过高测试与解决办法
-
taskhost.exe是什么进程? taskhost.exe占用cpu的解决办法
-
解决服务器w3wp.exe进程占用cpu和内存过多问题
-
网站服务器cpu占用高百分百(mysql数据库专用cpu高优化)
-
服务器大量php-cgi.exe进程导致CPU占用100%的解决方法
-
MySQL服务器进程CPU占用100%的解决方法_MySQL
-
php 随机记录mysql rand()造成CPU 100%的解决办法