第一種解決方案:web
iis6系統默認的工做進程回收時間是29個小時有不少問題是在回收工做進程後出現不少問題如典型的500錯誤等通過我作服務器的一段時間的觀察你們能夠不用回收工做進程而是把應用程序池的最大使用內存調整到一個合適的值就能夠了,由於若是設置了不回收工做進程,哪麼這個應用程序池所佔用內存的體積會很大並在不短增長中,咱們設置了這個池最大使用內存的大小就控制注了這個應用程序池的程序變化在一個合理的值裏
服務器
第二種解決方法:性能
IIS6的應用程序池會常常出現一些問題網站
[查看系統日誌會發現下邊錯誤]spa
爲應用程序池 'DefaultAppPool' 提供服務的進程關閉時間超過了限制。進程 ID 是 '3484'。 日誌
[隨之而來的還有]隊列
事件 ID ( 54 )的描述(在資源( HTTP )中)沒法找到。本地計算機可能沒有必要的註冊信息或消息 DLL 文件來從遠程計算機顯示消息。您可能可使用 /AUXSOURCE= 標識來檢索詞描述;查看幫助和支持以瞭解詳細信息。下列信息是事件的一部分: \Device\Http\AppPool.進程
網上查了不少資料,多說是應用程序池沒法在指定的時間內回收形成的。適當的延長時間便可解決,最開始我設定爲10分鐘內必須回收。可是問題依舊。無奈只好關閉了回收,不回收的結果就是內存得不到釋放,一次手動回收程序池並觀察進程動態,讓我忽然明白其中道理。事件
每一個程序池都會有個獨立進程 w3wp.exe ,而在回收程序池時,系統會新建個w3wp.exe進程,用於處理新的web請求,從而慢慢釋放舊的進程。若是在指定時間內舊的進程沒有釋放完,那麼就會致使程序池出錯。內存
因此,把時間設長點就好了,我設成了3600秒,也就是一小時。設定以後程序池就再沒出現過問題,天天觀察服務器,內存都能被很好的釋放。
下面是個人程序池設定,僅供參考。
右擊應用程序池DefaultAppPool,選取屬性:
1、回收
一、回收工做進程(分鐘):(不選)
二、回收工做進程(請求數目):(不選)
三、在下列時間回收工做進程:我設定爲凌晨3點,由於那個時候訪問量最少,請求最少,較容易釋放資源。
四、消耗太多內存時回收工做進程:(不選)
2、性能
空閒超時20分鐘:(不選)
請求隊列限制:(不選)
WEB園最大工做進程數爲1(默認)。
3、運行情況
啓用ping:選中
啓用快速失敗保護:不選。
啓動時間限制:900秒
關閉時間限制:3600秒。
第三種解決方法:
由於應用程序池 DefaultAppPool 提供服務的進程關閉時間超過了限制 服務器常常產生「應用程序池 DefaultAppPool 提供服務的進程關閉時間超過了限制。進程 ID 是 2068。」的錯誤,致使iis處於假死狀態,經瞭解是IIS應用程序池的設置問題。解決方法以下:Internet 信息服務(IIS)管理器->應用程序池->DefaultAppPool->右擊屬性1、回收一、回收工做進程(分鐘):選中,值爲1740二、回收工做進程(請求數目):不選(原先設置爲35000)三、在下列時間回收工做進程:不填四、消耗太多內存時回收工做進程:全不選。(二、三、4項可能避免了在訪問量高的時候強制回收進程可能引起的服務器響應問題,致使iis假死不響應)2、性能只選中空閒超時20分鐘。其餘都不選。WEB園最大工做進程數爲1(默認)。注意web園這裏必定要保持默認,若是填寫其餘超過1的數字就會致使一些網站程序的後臺程序打不開或者刷新不停。原來的請求隊列限制爲4000,如今無限制。3、運行情況前兩項都起用,是原來的默認設置。啓動時間限制90秒,關閉時間限制180秒。啓動快速失敗保護的鉤去掉!爲了不真的遇到不少錯誤時沒有提示,能夠不關閉,只是把快速保護的保護範圍加大些,例如失敗數50次 時間段5分鐘 則關閉對應的程序。「關閉時間限制180秒」是必須的,由於進程關閉的時間,原來爲90秒限制,是默認值,若是進程關閉時間超過90秒,則認爲超時,從而出現:進程關閉時間超過了限制 日誌,因此,適當延長這個時間,能夠避免這種錯誤