win2003中的w3wp.exe進(jìn)程大量占用cpu資源的各種問題解決方法
原因:發(fā)生此問題是因?yàn)?Jet 數(shù)據(jù)庫引擎中存在缺陷。 Microsoft Windows Server 2003 上只會(huì)出現(xiàn)此問題。 在 Windows Server 2003, COM+ 更改頻率 CoFreeUnusedLibraries 函數(shù)被調(diào)用。 此更改導(dǎo)致 Jet 驅(qū)動(dòng)程序以初始化頻繁。 此行為可能導(dǎo)致死鎖條件。
Web 服務(wù)器負(fù)載時(shí)最常出現(xiàn)此問題。
補(bǔ)丁下載:
chs:WindowsServer2003-KB838306-x86-chs.exe
enu:WindowsServer2003-KB838306-x86-enu.exe
在IIS6下,經(jīng)常出現(xiàn)w3wp.exe的內(nèi)存及CPU占用不能及時(shí)釋放,從而導(dǎo)致服務(wù)器響應(yīng)速度很慢。
解決內(nèi)存占用過多,可以做以下配置:
1、在IIS中對(duì)每個(gè)網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。
2、設(shè)置應(yīng)用程序池的回收時(shí)間,默認(rèn)為1720小時(shí),可以根據(jù)情況修改。再設(shè)置當(dāng)內(nèi)存占用超過多少(如500M),就自動(dòng)回收內(nèi)存。
解決CPU占用過多:
1、在IIS中對(duì)每個(gè)網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。
2、設(shè)置應(yīng)用程序池的CPU監(jiān)視,不超過25%(服務(wù)器為4CPU),每分鐘刷新,超過限制時(shí)關(guān)閉。
根據(jù)w3wp取得是那個(gè)一個(gè)應(yīng)用程序池:
1、在任務(wù)管理器中增加顯示pid字段。就可以看到占用內(nèi)存或者cpu最高的進(jìn)程pid
2、在命令提示符下運(yùn)行iisapp -a。注意,第一次運(yùn)行,會(huì)提示沒有js支持,點(diǎn)擊確定。然后再次運(yùn)行就可以了。這樣就可以看到pid對(duì)應(yīng)的應(yīng)用程序池。(iisapp實(shí)際上是存放在C:\windows\system32目錄下的一個(gè)VBS腳本,全名為iisapp.vbs,如果你和我一樣,也禁止了Vbs默認(rèn)關(guān)聯(lián)程序,那么就需要手動(dòng)到該目錄,先擇打開方式,然后選“Microsoft (r) Windows Based Script Host”來執(zhí)行,就可以得到PID與應(yīng)用程序池的對(duì)應(yīng)關(guān)系。)
3、到iis中察看該應(yīng)用程序池對(duì)應(yīng)的網(wǎng)站,就ok了,做出上面的內(nèi)存或CPU方面的限制,或檢查程序有無死循環(huán)之類的問題。
QUOTE:
環(huán)境:win2003server+IIs+ASP+MSSQL
現(xiàn)象:每隔一段時(shí)間(不定,有時(shí)幾分鐘,有時(shí)半小時(shí))出現(xiàn)一次網(wǎng)站打開非常緩慢,甚至有時(shí)會(huì)出現(xiàn)超時(shí)打不開站點(diǎn),此時(shí)查看服務(wù)器端的進(jìn)程,CPU占用率達(dá)到100%,其中w3wp占用70~80%,SQL占用20~30%。所有服務(wù)器端的操作也變得緩慢。
初期解決方法:每次現(xiàn)象出現(xiàn)時(shí),立即登錄服務(wù)器直接結(jié)束w3wp進(jìn)程或重啟IIS服務(wù),平均每天約十次操作,由于服務(wù)器存放于遠(yuǎn)程機(jī)房,所有操作都是遠(yuǎn)程控制進(jìn)行,有時(shí)會(huì)因此出現(xiàn)遠(yuǎn)程無法連接登錄的情況,只能通過電話通知機(jī)房管理人員重啟服務(wù)器解決,此過程導(dǎo)致用戶抱怨不斷。
經(jīng)過網(wǎng)上查閱資料,發(fā)現(xiàn)此類現(xiàn)象多數(shù)由于網(wǎng)頁代碼不合理所致,以下情況會(huì)導(dǎo)致此類現(xiàn)象發(fā)生:
1、代碼中多處使用application、seesion等服務(wù)器緩存,導(dǎo)致服務(wù)器資料過度占用;
2、代碼有不合理語法,死循環(huán)等;
3、數(shù)據(jù)庫損壞,尤其是ACCESS數(shù)據(jù)庫;
4、裝過多第三方軟件或插件,與IIS或網(wǎng)頁功能代碼沖突。
第一階段排查:根據(jù)查閱到的參考資料逐項(xiàng)分析
1、服務(wù)器上所有站點(diǎn)代碼均為公司設(shè)計(jì)人員自行編寫,可證實(shí)并無過多調(diào)用服務(wù)器緩存語法(排除)
2、代碼是否存在不合理語法(不確定)
3、根據(jù)情況來看,IIS進(jìn)程占用率升高時(shí),SQL占用率同時(shí)升高,應(yīng)為SQL數(shù)據(jù)庫的站點(diǎn),根據(jù)現(xiàn)象判斷,庫或表應(yīng)該正常,估計(jì)是數(shù)據(jù)方面可能有誤;(不確定)
4、服務(wù)器端除了基本的系統(tǒng)服務(wù),防殺毒及網(wǎng)站運(yùn)作必備服務(wù)之外,并無多余第三方軟件,機(jī)率不大(排除)。
經(jīng)過以上分析判斷,將不確定項(xiàng)連起來得出的結(jié)論是:某個(gè)采用了SQL數(shù)據(jù)庫的網(wǎng)站網(wǎng)頁代碼存在不合理語法,導(dǎo)致IIS和SQL進(jìn)程CPU占用率過高。
第二階段排查:
確定范圍,接著繼續(xù)把范圍縮小。
由于服務(wù)器上采用SQL數(shù)據(jù)庫的站點(diǎn)并不多,便于建立獨(dú)立進(jìn)程ID來觀察,將所有采用SQL數(shù)據(jù)庫的站點(diǎn)在IIS管理器中分別建立獨(dú)立的應(yīng)用程序池,然后通過CMD界面輸入:iisapp -a 命今查看并記錄下各IIS池的進(jìn)程ID號(hào),通過多次現(xiàn)象重現(xiàn)時(shí)的觀察,有個(gè)IIS進(jìn)程ID是導(dǎo)致此次問題的罪魁禍?zhǔn)住?
補(bǔ)充:
限制sql的內(nèi)存。企業(yè)管理器——SQL的屬性(一般是local)——“內(nèi)存”標(biāo)簽,在這里看內(nèi)存的設(shè)置,把最大值改成100M吧(這個(gè)確實(shí)有一定的作用)。只不過還是存在系統(tǒng)資源占用比較多的,繼續(xù)尋找產(chǎn)生的原因。。。
相關(guān)文章
Win2003服務(wù)器網(wǎng)絡(luò)負(fù)載平衡的配置方法[圖文]
均衡負(fù)載能夠平均分配客戶請(qǐng)求到服務(wù)器列陣,籍此提供快速獲取重要數(shù)據(jù),解決大量并發(fā)訪問服務(wù)問題。這種群集技術(shù)可以用最少的投資獲得接近于大型主機(jī)的性能2012-11-11通過IIS自帶工具Iisapp.vbs查詢哪個(gè)w3wp.exe站點(diǎn)占用資源(cpu或內(nèi)存)
最近互聯(lián)網(wǎng)很多網(wǎng)站用戶被盜取,最近dedecms的漏洞出的比較多,導(dǎo)致很多網(wǎng)站淪陷,因?yàn)榭蛻舻木W(wǎng)站使用了dedecms導(dǎo)致我們其中的一臺(tái)服務(wù)器經(jīng)常無法訪問。2011-12-12Windows Server 2019 DHCP服務(wù)器配置與管理——理論 Ⅰ
DHCP 是 Dynamic Host Configuration Protocol (動(dòng)態(tài)主機(jī)配置協(xié)議)的縮寫2023-05-05Windows Server 2008 R2遠(yuǎn)程設(shè)置選項(xiàng)灰色解決方法
最近公司環(huán)境有幾天Windows Server 2008R2的服務(wù)器因?yàn)闆]有激活導(dǎo)致過期后都不能遠(yuǎn)程,連接顯示器后發(fā)現(xiàn)遠(yuǎn)程設(shè)置的地方為灰色了2013-06-06IIS7.5中調(diào)試.Net 4.0網(wǎng)站出現(xiàn)無厘頭、500錯(cuò)誤的解決方法
這篇文章主要介紹了IIS7.5中調(diào)試.Net 4.0網(wǎng)站出現(xiàn)無厘頭、500錯(cuò)誤的解決方法,需要的朋友可以參考下2014-10-10win2008 r2 安裝sqlserver 2000問題的解決方法
最近服務(wù)器升級(jí)了win2008 r2系統(tǒng),考慮到用戶額需要,sqlserver使用了2000,其實(shí)個(gè)人建議安裝sql2005或sql2008,但也不能考慮一些朋友額需求2013-08-08處理程序 PageHandlerFactory-Integrated 在其模塊列表中有一個(gè)錯(cuò)誤模塊 ManagedPip
今天在安裝好IIS的Windows2008 r2本上發(fā)布asp.net網(wǎng)站時(shí),web程序已經(jīng)映射到了本地IIS上,但運(yùn)行如下錯(cuò)誤提示處理程序PageHandlerFactory-Integrated在其模塊列表中有一個(gè)錯(cuò)誤模塊ManagedPipelineHandler2020-03-03