什么会使服务器CPU占用过大

什么会使服务器CPU占用过大,第1张


服务器正常运行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
还不明白,看这里:

如果服务器内存过高,您的站点有可能会出现打不开,这时您需要登陆服务器重启一下IIS或者服务器都能暂时的解决网站打不开问题,但治标不治本。建议您平时做好数据备份的习惯,避免重启导致数据丢失。如果服务器内存经常爆满,建议换大内存的。希望我的回答能帮到您。

服务器配置环境不占用内存。
服务器内存也是内存,它与普通PC机内存在外观和结构上没有什么明显实质性的区别,主要是在内存上引入了一些新的特有的技术,如ECC、ChipKill、热插拔技术等,具有极高的稳定性和纠错性能。
服务器配置环境一般不占用内存。服务器配置环境是指服务器硬件配置,以及软件配置如何。 如果是硬件配置不行,那么服务器在流量大时会比较吃力。 如果是软件配置不行,得联系机房管理员重新安装比较好。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10560959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存