服务器CPU占用过大,到底什么原因啊,急求!!!
转
服务器正常运行CUP一般应该都在60%以下,有时候CUP出现上下波动很大,或者是服务器突然很卡,或很慢查看任务管理器,可以发现很多的w3wpexe消耗CPU,结束后立即有新的w3wpexe出现占CPU,管管理员在这种情况只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
直接原因:
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在w3wpexe中。
解决办法:1
在iis管理器里面设置多个应用程序池, 并把虚拟主机站点分别加入应用程序池。在多应用程序池的情况下,每个应用程序池会对应生成一个w3wpexe文件。通过任务管理器可以查看到所有w3wpexe占用cpu利用率情况。 通过iis管理器打开应用程序池,可以逐个停掉应用程序池。一边停应用程序池,一边在任务管理器里面观察哪个w3wpexe的cpu利用率一下子从降下来,cpu利用率恢复正常。这样可以判断是那个应用程序池出了问题。然后可以再建立多个应用程序池,每一个应用程序池对应一个站点。这样逐个停应用程序池,就可以确定到底是哪个网站出问题。最有问题的往往是计数器类的ACCESS文件,例如:“COUNTMDB” ,“COUNTASP”,找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决。
解决办法:2
w3wpexe占用cpu过高查询方法,很多web提供商最头疼的问题,在任务管理器经常出现w3wpexe占cup过高,导致整台服务器受影响解决办法如下:
1先把任务管理器打开,发现那个w3wpexe占cup关高就结束进程
2在我的电脑-管理-事件查看器-系统-会找到关w3wpexe的错误报告,把程序池名字记录下,再把具体时间记录下来(如125956)
3在到系统上面的安全性找到对应时间(如125956)登陆过的用户
4打开iis找到2中查询到的程序池,和3查询到登陆过的用户,取交集,即可精确查到是那个web占点站cup
还不明白,看这里:
http://sdseocomcn/yumingzhuji/200905091128html
常见的解决方法
1、关闭不常用端口和多余启动项
这里建议用户关闭不常用的端口,开启不常用的端口,容易出现CPU内存占用率高的情况。当负荷过重的时候,CPU占用率可能过高。另外,系统在安装完成后会默认开启不少启动项,这些启动项会消耗不少系统资源和内存。
2、尽量不要安装和运行多余的软件
服务器上安装过多多余的程序和软件时也容易造成CPU内存占用率高的情况。很多朋友喜欢在vps上安装一些如QQ等软件,少部分朋友有在vps上看视频、玩游戏的习惯,这不经意间就容易出现CPU占用率过高的问题。
3、安装合适的杀毒软件
服务器上要安装合适服务器使用的杀毒软件,因为一些软件并不适合服务器使用,如360等,这些杀毒软件会有一些随时监控功能,会随时执行扫描任务,这样会额外增加系统的负担,容易导致CPU占用率过高的情况出现,严重的甚至会导致系统崩溃,所以有朋友安装360后会发现服务器会明显变卡,服务器上建议安装安全狗杀毒软件。
4、设置应用程序池的回收时间
应用程序池的默认回收时间是29个小时,这个一般不是很好设置,有时候会出现内存无法释放的情况,导致CPU内存占用过高,所以建议设置一下应用程序池的回收时间,把回收时间缩小,这样可以及时释放内存。
5、提高vps安全性
当服务器受到病毒或木马攻击的时候,CPU也会出现占用率过高的情况,要预防出现服务器CPU占用率过高的情况,用户朋友要做好服务器的安全工作,提高安全性,避免经常出现受黑客攻击的情况。
你好,您的CPU占满是持续的还是暂时的。 如果新打开一个程序应用,CPU会一下子跑的很高,之后就回复正常占用率的话就没事的。如果是一直被占满,可以打开任务管理器查看一下程序应用,关掉不必要的程序软件,再者就是现在CPU满足不了了,需要更换更高性能的CPU。
至强E5-2640 为六核心 十二线程的 看的出你得服务器上有两个处理器,此类处理器还是带的动500人同时访问,没必要换。你的内存使用量太高了,建议关闭不必要后台。如果你要找出是数据库的造成问题 那么你得把数据库代码发出来 不然是无法为你找的 你给的只是CPU和内存在任务管理器里使用率,服务器长时间不关机 也是导致运行缓慢的原因之间,windows系统开时间长了系统占用资源很大临时文件很多,建议使用linux或unix系统关闭不必要的端口服务 数据库建议使用oracle或者my sql数据库。
希望我的回答对你有帮助
0条评论