當前位置:首頁 > 我們的(de)觀點 > 列表

iis 回收工作進程時(shí)出錯的(de)解決辦法

點擊:時(shí)間:2016/8/19關鍵詞:iis 假死 iis回收
第一種解決方案:iis6系統默認的(de)工作進程回收時(shí)間是29個(gè)小時(shí)有很多(duō)問題是在回收工作進程後出現很多(duō)問題如典型的(de)500錯誤等經過我做(zuò)服務器的(de)一段時(shí)間的(de)觀察大(dà)家可(kě)以不用(yòng)回收工作進程而是把應用(yòng)程序池的(de)最大(dà)使用(yòng)内存調整到一個(gè)合适的(de)值就可(kě)以了(le),因爲如果設置了(le)不回收工作進

第一種解決方案:

iis6系統默認的(de)工作進程回收時(shí)間是29個(gè)小時(shí)有很多(duō)問題是在回收工作進程後出現很多(duō)問題如典型的(de)500錯誤等經過我做(zuò)服務器的(de)一段時(shí)間的(de)觀察大(dà)家可(kě)以不用(yòng)回收工作進程而是把應用(yòng)程序池的(de)最大(dà)使用(yòng)内存調整到一個(gè)合适的(de)值就可(kě)以了(le),因爲如果設置了(le)不回收工作進程,哪麽這(zhè)個(gè)應用(yòng)程序池所占用(yòng)内存的(de)體積會很大(dà)并在不短增加中,我們設置了(le)這(zhè)個(gè)池最大(dà)使用(yòng)内存的(de)大(dà)小就控制注了(le)這(zhè)個(gè)應用(yòng)程序池的(de)程序變化(huà)在一個(gè)合理(lǐ)的(de)值裏
iis 回收工作進程時(shí)出錯的(de)解決辦法 - 江湖狂人(rén) - 我的(de)博客


第二種解決方法:

IIS6的(de)應用(yòng)程序池會經常出現一些問題

[查看系統日志會發現下(xià)邊錯誤]

爲應用(yòng)程序池 'DefaultAppPool' 提供服務的(de)進程關閉時(shí)間超過了(le)限制。進程 ID 是 '3484'。

[随之而來(lái)的(de)還(hái)有]

事件 ID ( 54 )的(de)描述(在資源( HTTP )中)無法找到。本地計算(suàn)機可(kě)能沒有必要的(de)注冊信息或消息 DLL 文件來(lái)從遠(yuǎn)程計算(suàn)機顯示消息。您可(kě)能可(kě)以使用(yòng) /AUXSOURCE= 标識來(lái)檢索詞描述;查看幫助和(hé)支持以了(le)解詳細信息。下(xià)列信息是事件的(de)一部分(fēn): \Device\Http\AppPool.

網上查了(le)很多(duō)資料,多(duō)說是應用(yòng)程序池無法在指定的(de)時(shí)間内回收造成的(de)。适當的(de)延長(cháng)時(shí)間即可(kě)解決,最開始我設定爲10分(fēn)鐘(zhōng)内必須回收。但是問題依舊(jiù)。無奈隻好關閉了(le)回收,不回收的(de)結果就是内存得(de)不到釋放,一次手動回收程序池并觀察進程動态,讓我突然明(míng)白其中道理(lǐ)。

每個(gè)程序池都會有個(gè)獨立進程 w3wp.exe ,而在回收程序池時(shí),系統會新建個(gè)w3wp.exe進程,用(yòng)于處理(lǐ)新的(de)web請求,從而慢(màn)慢(màn)釋放舊(jiù)的(de)進程。如果在指定時(shí)間内舊(jiù)的(de)進程沒有釋放完,那麽就會導緻程序池出錯。

所以,把時(shí)間設長(cháng)點就行了(le),我設成了(le)3600秒,也(yě)就是一小時(shí)。設定之後程序池就再沒出現過問題,每天觀察服務器,内存都能被很好的(de)釋放。

下(xià)面是我的(de)程序池設定,僅供參考。

右擊應用(yòng)程序池DefaultAppPool,選取屬性:

一、回收

1、回收工作進程(分(fēn)鐘(zhōng)):(不選)

2、回收工作進程(請求數目):(不選)

3、在下(xià)列時(shí)間回收工作進程:我設定爲淩晨3點,因爲那個(gè)時(shí)候訪問量最少,請求最少,較容易釋放資源。

4、消耗太多(duō)内存時(shí)回收工作進程:(不選)

二、性能

   空閑超時(shí)20分(fēn)鐘(zhōng):(不選)

   請求隊列限制:(不選)

   WEB園最大(dà)工作進程數爲1(默認)。

三、運行狀況

   啓用(yòng)ping:選中

   啓用(yòng)快(kuài)速失敗保護:不選。

   啓動時(shí)間限制:900秒

   關閉時(shí)間限制:3600秒。


第三種解決方法:

因爲應用(yòng)程序池 DefaultAppPool 提供服務的(de)進程關閉時(shí)間超過了(le)限制 服務器經常産生“應用(yòng)程序池 DefaultAppPool 提供服務的(de)進程關閉時(shí)間超過了(le)限制。進程 ID 是 2068。”的(de)錯誤,導緻iis處于假死狀态,經了(le)解是IIS應用(yòng)程序池的(de)設置問題。解決方法如下(xià):Internet 信息服務(IIS)管理(lǐ)器->應用(yòng)程序池->DefaultAppPool->右擊屬性一、回收1、回收工作進程(分(fēn)鐘(zhōng)):選中,值爲17402、回收工作進程(請求數目):不選(原先設置爲35000)3、在下(xià)列時(shí)間回收工作進程:不填4、消耗太多(duō)内存時(shí)回收工作進程:全不選。(2、3、4項可(kě)能避免了(le)在訪問量高(gāo)的(de)時(shí)候強制回收進程可(kě)能引發的(de)服務器響應問題,導緻iis假死不響應)二、性能隻選中空閑超時(shí)20分(fēn)鐘(zhōng)。其他(tā)都不選。WEB園最大(dà)工作進程數爲1(默認)。注意web園這(zhè)裏一定要保持默認,如果填寫其他(tā)超過1的(de)數字就會導緻一些網站程序的(de)後台程序打不開或者刷新不停。原來(lái)的(de)請求隊列限制爲4000,現在無限制。三、運行狀況前兩項都起用(yòng),是原來(lái)的(de)默認設置。啓動時(shí)間限制90秒,關閉時(shí)間限制180秒。啓動快(kuài)速失敗保護的(de)鈎去掉!爲了(le)避免真的(de)遇到很多(duō)錯誤時(shí)沒有提示,可(kě)以不關閉,隻是把快(kuài)速保護的(de)保護範圍加大(dà)些,例如失敗數50次 時(shí)間段5分(fēn)鐘(zhōng) 則關閉對(duì)應的(de)程序。“關閉時(shí)間限制180秒”是必須的(de),因爲進程關閉的(de)時(shí)間,原來(lái)爲90秒限制,是默認值,如果進程關閉時(shí)間超過90秒,則認爲超時(shí),從而出現:進程關閉時(shí)間超過了(le)限制 日志,所以,适當延長(cháng)這(zhè)個(gè)時(shí)間,可(kě)以避免這(zhè)種錯誤

預約建站
免費提供網站優化(huà)
領取關鍵詞