在IIS6下,經(jīng)常出現(xiàn)w3wp的內(nèi)存占用不能及時(shí)釋放,從而導(dǎo)致服務(wù)器響應(yīng)速度很慢。
由于內(nèi)存釋放不及時(shí)嚴(yán)重影響到服務(wù)器的正常運(yùn)營(yíng),建議采用以下配置,但請(qǐng)考慮自身服務(wù)器的使用情況。
可以做以下配置:
1、在IIS中對(duì)每個(gè)網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。(進(jìn)程池越多越占用內(nèi)存,由于訪問網(wǎng)站之后往往不會(huì)立即釋放內(nèi)存資源。)
2、設(shè)置應(yīng)用程序池的回收時(shí)間,默認(rèn)為1720小時(shí),可以根據(jù)情況修改。同時(shí),設(shè)置同時(shí)運(yùn)行的w3wp進(jìn)程數(shù)目為1。再設(shè)置當(dāng)內(nèi)存或者cpu占用超過多少,就自動(dòng)回收內(nèi)存 。
3、設(shè)置固定時(shí)間加收進(jìn)程,比如在凌晨1:00至9:00之前訪問人數(shù)都比較少,影響很少小,可以設(shè)定每天在這個(gè)時(shí)間段內(nèi)進(jìn)行內(nèi)存回收,以減少服務(wù)器因?yàn)閮?nèi)存不足帶來的影響。設(shè)定固定的時(shí)間在IIS6中沒有限制次數(shù),可以根據(jù)實(shí)際情況來設(shè)定時(shí)間比如:晚上12:00,8:00,12:30,6:30等時(shí)間段時(shí)間有效的進(jìn)程池資源回收。
一般來說,這樣就可以解決了。但仍然會(huì)出現(xiàn)個(gè)別網(wǎng)站因?yàn)槌绦騿栴},不能正確釋放。
那么,怎么樣才能找到是哪一個(gè)網(wǎ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)用程序池
3、到iis中察看該應(yīng)用程序池對(duì)應(yīng)的網(wǎng)站,就ok了。
Windows Server 2003中的w3wp.exe進(jìn)程大量占用cpu資源的各種問題解決方法2007-04-24 14:43這幾天服務(wù)器總是運(yùn)行緩慢,遠(yuǎn)程登錄后發(fā)現(xiàn)一個(gè)w3wp.exe的進(jìn)程占用了100%cpu在Windows Server 2003中對(duì)于每一個(gè)Web應(yīng)用,IIS 6.0都用一個(gè)獨(dú)立的w3wp.exe的實(shí)例來運(yùn)行它。w3wp.exe也稱為工作進(jìn)程(每一個(gè)主機(jī)頭都會(huì)有一個(gè))直接在任務(wù)管理器中結(jié)束進(jìn)程是不起作用的,結(jié)束后不久它會(huì)執(zhí)行啟動(dòng),要想結(jié)束它可以在IIS中找到相應(yīng)的應(yīng)用程序池停止相應(yīng)的應(yīng)用程序池工作。
這些都不是解決辦法,它的根本問題是你的那個(gè)網(wǎng)站程序有問題,在找到問題以前可以先打開IIS找到應(yīng)用程序池先用右鍵屬性中設(shè)置“性能”把其中的CPU設(shè)成大于60%關(guān)閉應(yīng)用程序池,把關(guān)閉時(shí)間和開啟時(shí)間設(shè)短一些比如10秒,這樣當(dāng)您的網(wǎng)站程序大量占用系統(tǒng)資源時(shí)IIS自動(dòng)快速回收進(jìn)程并且快速啟動(dòng)進(jìn)程,您的網(wǎng)站暫時(shí)還可以將就著工作。
要解決根本問題還要從程序查起,您可以在IIS中的應(yīng)用程序池中右鍵創(chuàng)建多個(gè)應(yīng)用程序池,然后在每個(gè)主機(jī)頭中的文件家選項(xiàng)的底部將應(yīng)用程序池對(duì)應(yīng)道剛才建好的應(yīng)用程序池,然后一個(gè)一個(gè)關(guān)閉在任務(wù)管理器中看看是哪個(gè)程序占用的資源較大。