w3wp.exe是在IIS(因特網(wǎng)信息服務(wù)器)與應(yīng)用程序池相關(guān)聯(lián)的一個進(jìn)程,如果你有多個應(yīng)用程序池,就會有對應(yīng)的多個w3wp.exe的進(jìn)程實例運(yùn)行。這個進(jìn)程用來分配大量的系統(tǒng)資
今天研究了一下,可以做以下配置:
1、在IIS中對每個網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。
2、設(shè)置應(yīng)用程序池的回收時間,默認(rèn)為1720小時,可以根據(jù)情況修改。同時,設(shè)置同時運(yùn)行的w3wp進(jìn)程數(shù)目為1。再設(shè)置當(dāng)內(nèi)存或者cpu占用超過多少,就自動回收內(nèi)存
一般來說,這樣就可以解決了。但仍然會出現(xiàn)個別網(wǎng)站因為程序問題,不能正確釋放。
那么,怎么樣才能找到是哪一個網(wǎng)站的?
1、在任務(wù)管理器中增加顯示pid字段。就可以看到占用內(nèi)存或者cpu最高的進(jìn)程pid
2、在命令提示符下運(yùn)行iisapp -a。注意,第一次運(yùn)行,會提示沒有js支持,點擊確定。然后再次運(yùn)行就可以了。這樣就可以看到pid對應(yīng)的應(yīng)用程序池
3、到iis中察看該應(yīng)用程序池對應(yīng)的網(wǎng)站,就ok了。
最近公司服務(wù)器總出現(xiàn)CPU100%占用情況,服務(wù)器配置為雙核Xeon3.0×2,2G ECC內(nèi)存。
發(fā)現(xiàn)是w3wp.exe長時間占用大量CPU.出現(xiàn)這種情況應(yīng)該是網(wǎng)站程序存在死循環(huán)等問題所致。
在找到問題以前可以暫時采取限制w3wp進(jìn)程CPU使用率的方法保證網(wǎng)站可以將就著工作:
在IIS6下,經(jīng)常出現(xiàn)w3wp.exe的內(nèi)存及CPU占用不能及時釋放,從而導(dǎo)致服務(wù)器響應(yīng)速度很慢。
解決CPU占用過多:
1、在IIS中對每個網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。
2、設(shè)置應(yīng)用程序池的CPU監(jiān)視,不超過25%(服務(wù)器為4CPU),每分鐘刷新,超過限制時關(guān)閉。
根據(jù)w3wp取得是哪一個應(yīng)用程序池:
1、在任務(wù)管理器中增加顯示pid字段。就可以看到占用內(nèi)存或者cpu最高的進(jìn)程pid
2、在命令提示符下運(yùn)行iisapp -a。注意,第一次運(yùn)行,會提示沒有js支持,點擊確定。然后再次運(yùn)行就可以了。這樣就可以看到pid對應(yīng)的應(yīng)用程序池。(iisapp實際上是存放在 C:windowssystem32目錄下的一個VBS腳本,全名為iisapp.vbs,如果你和我一樣,也禁止了Vbs默認(rèn)關(guān)聯(lián)程序,那么就需要手動到該目錄,先擇打開方式,然后選“Microsoft (r) Windows Based Script Host”來執(zhí)行,就可以得到PID與應(yīng)用程序池的對應(yīng)關(guān)系。)
3、到iis中察看該應(yīng)用程序池對應(yīng)的網(wǎng)站,就ok了,做出上面的內(nèi)存或CPU方面的限制,或檢查程序有無死循環(huán)之類的問題。
解決內(nèi)存占用過多,可以做以下配置:
1、在IIS中對每個網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。
2、設(shè)置應(yīng)用程序池的回收時間,默認(rèn)為1720小時,可以根據(jù)情況修改。再設(shè)置當(dāng)內(nèi)存占用超過多少(如500M),就自動回收內(nèi)存。
我的設(shè)置如下:
首先是對CPU的限制:在啟用cpu監(jiān)視后,我設(shè)置該應(yīng)用程序池最大的cpu使用率為50%。設(shè)置刷新cpu時間為1分鐘,設(shè)置操作為“關(guān)閉”。最大工作進(jìn)程數(shù)設(shè)置為1。這個意思是,IIS刷新檢測該獨(dú)立池的CPU使用情況時間為1分鐘,如果超過設(shè)置的cpu限制50%,就會發(fā)出關(guān)閉池的指令,要求池在指定的時間內(nèi)關(guān)閉。如果池成功在這個時間內(nèi)關(guān)閉,IIS會重啟動一個新池,此段時間很短,一般不會有什么感覺,池就重新開啟了,對于訪問網(wǎng)站的人基本是不會有感覺的。但如果池沒有在指定時間內(nèi)關(guān)閉,IIS就會強(qiáng)行關(guān)閉它一個刷新CPU時間。在這個停止的時間內(nèi),網(wǎng)站無法訪問,提示“Service Unavaliable”。
新聞熱點
疑難解答
圖片精選