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