mysql内存使用率过高

作者: 虞季维, 发布: 2024-08-29 01:09:14

1、mysql中cpu负载很高,是什么原因mysql的CPU负载很高,是什么原因?
1.>查看哪些用户和进程正在使用当前CPU和内存
2、一般记录3306端口的信息,发出最繁忙的sql语句
3查看mysql日志
哪些sql语句最多分析mysql关闭日志,看是否耗时。 />检查mysql配置参数是否有问题,导致IO次数过高或CPU作过高
Innodb_flush_log_at_trx_commit、innodb_buffer_pool_size、key_buffer_size等重要参数
4

2、最近服务器有点卡,MYSQL占用CPU100%。 卡的时候吧IIS上的网站禁用再启用就好了,IIS重启无效。 1.为IIS中的每个网站配置单独的应用程序池。 也就是说,它们不会互相影响。
2、设置应用池CPU监控不超过25%(服务器为4CPU),每分钟新一次,超出限则关闭。
获取哪个应用程序池是基于w3wp的:
1、在任务管理器中添加pid显示字段。 可以看到占用内存或CPU最高的进程的pid

2、在命令行中运行iisapp-a。 注意第一次运行会提示不支js,点击确定。 然后再次运行即可。 这样就可以看到pid对应的应用程序组了。 (iisapp实际上是一个VBS脚本,存放在C:\windows\system32目录下,全称是iisapp.vbs。 如果你像我一样禁用了与Vbs关联的默认程序,则必须手动进入该目录首先选择开方式,然后选择“Microsoft(r)WindowsBasedScriptHost”运行即可得到PID与应用程序组的对应关系)
3、查看该组对应的网站iis中的应用程序,就可以了,做上面的内存或cpu限,或者检查程序是否有无穷大等问题。
要解决内存使用过多的问题,可以进行以下配置:
1、在IIS中为每个网站配置单独的应用程序池。 也就是说,它们不会互相影响。
2、设置应用批量回收时间默认1720小时,可根据情况修改。 然后设置一定的内存使用量(比如500M)来自动回收内存。
我的设置如下:
首先是CPU限:启用CPU监控后,我将应用程序池的最大CPU使用率设置为50%。 将CPU新时间设置为1分钟,并将作设置为“关闭”。 最大工作进程数设置为1。 这意味着IIS会新并检测独立池的CPU使用情况1分钟,如果超过指定CPU限的50%,就会发出该组的关闭指令,要求团体在规定时间内结束。 如果池在这段时间内成功关闭,IIS将重新启动一个新池。 这个时间很短,一般不会有什么感觉。 但如果集群没有在指定时间内关闭,IIS会强关闭它一段CPU新时间。 在此停机时间内,无法访问网站并请求“ServiceUnavaliable”。
设置关闭时间和启动时间间隔:设置最短的一个,比如10秒,这样当你的网站程序占用大量系统资时,IIS会自动快速回收进程并快速启动进程,你的网站暂时还能工作。
内存限和进程回收时间设置:我设置的是内存使用超过800M时自动回收内存,没有虚拟内存限。 我将进程回收时间保留为默认值,没有修改。 您可以根据自己的情况设置较短的时间。 这里还可以设置应用程序池的最大虚拟内存,如果超过设置的最大内存,池就会回收。
最后,根据一些wlmmc延迟的经验,我们总结了一些需要注意的问题:
1.要限站点的CPU使用率,应将站点设置为独立池共享应用程序应用程序池不能限到单个站点。 独立的IIS应用程序池需要一个独立的进程,这会消耗大量的内存。 独立池越多,W3WP的进程就越多。 对于每个页面都需要一组独立应用程序的服务器,在普通P43.02G内存的典型服务器上,建议页面不要超过50个,最好在30个以内,否则服务器压力太大。 在配置方面,我通常将消耗大量资源的网站放在一个单独的组中。 普通网站和一些企业网站共享一个集群。
2、根据wlmmc的经验,如果服务器硬件允许,一般不要限网站的内存使用,这样可以保证网站正常工作,用户不会断线。 需要限给定站点的最大虚拟内存不小于64M,否则可能会出现一些未知的错误。
3.这些都不是基本的解决方。 根本问题是互联网程序有问题。 使用本文开提到的方法找到具体的应用程序组,找到使用该应用程序组的网站,并对网站程序进行故障排除,例如无限循环。

4、除了w3wp.exe之外,当你调用数据库进行大量的查询作时,也会占用大量的CPU资源,这是不可避免的(数据库语句数据和结构优化不在本文讨论范围内)。 个认为只要CPU不是时间处于100%繁忙状态,一般在75%左右就很正常了。

相关文章