注冊 | 登陸
您的位置:阿里西西 > 編程技術 > 服務器教程 > 詳細內容

常見windows2003服務器上IIS占用CPU資源100%的解決辦

  稿源:本站整理   2018-09-06   點擊:   撤稿糾錯
機器正在調試或允許IIS時,被異常中斷服務(比如停電),然后再次IIS運行頁面時,CPU資源占用100%,即使重新啟動也無效。

下面是常見windows2003服務器上IIS占用CPU資源100%的解決辦法的相關內容,文章教程主要講述與windows2003 服務器 IIS 占用 CPU 資源 相關的一些技術與知識,更多的內容歡迎大家訪問http://www.kimling.cn,獲取更多最新教程,下面是教程講解:

以下是方案1:
現象:機器正在調試或允許IIS時,被異常中斷服務(比如停電),然后再次IIS運行頁面時,CPU資源占用100%,即使重新啟動也無效。
原因:發生中斷時,IIS會寫異常日志,但是此時寫入了亂碼,造成IIS一直寫日志的死循環,耗盡了系統資源。找到系統路徑\System32\Logfiles\W3SVC1 下當天的錯誤日志文件,即可看到以上內容。
解決:刪除 系統路徑\System32\Logfiles\W3SVC1 下當天的錯誤日志文件,如:ex060904.log,然后重新啟動IIS即可。
以下是方案2:
環境:win2003server+IIs+ASP+MSSQL
現象:每隔一段時間(不定,有時幾分鐘,有時半小時)出現一次網站打開非常緩慢,甚至有時會出現超時打不開站點,此時查看服務器端的進程,CPU占用率達到100%,其中w3wp占用70~80%,SQL占用20~30%。所有服務器端的操作也變得緩慢
初期解決方法:每次現象出現時,立即登錄服務器直接結束w3wp進程或重啟IIS服務,平均每天約十次操作,由于服務器存放于遠程機房,所有操作都是遠程控制進行,有時會因此出現遠程無法連接登錄的情況,只能通過電話通知機房管理人員重啟服務器解決,此過程導致用戶抱怨不斷
經過網上查閱資料,發現此類現象多數由于網頁代碼不合理所致,以下情況會導致此類現象發生: 
1、代碼中多處使用application、seesion等服務器緩存,導致服務器資料過度占用;
2、代碼有不合理語法,死循環等;
3、數據庫損壞,尤其是ACCESS數據庫; 
4、裝過多第三方軟件或插件,與IIS或網頁功能代碼沖突。 
第一階段排查:根據查閱到的參考資料逐項分析
1、服務器上所有站點代碼均為公司設計人員自行編寫,可證實并無過多調用服務器緩存語法(排除)
2、代碼是否存在不合理語法(不確定)
3、根據情況來看,IIS進程占用率升高時,SQL占用率同時升高,應為SQL數據庫的站點,根據現象判斷,庫或表應該正常,估計是數據方面可能有誤;(不確定) 
4、服務器端除了基本的系統服務,防殺毒及網站運作必備服務之外,并無多余第三方軟件,機率不大(排除)。

經過以上分析判斷,將不確定項連起來得出的結論是:某個采用了SQL數據庫的網站網頁代碼存在不合理語法,導致IIS和SQL進程CPU占用率過高。

第二階段排查:
確定范圍,接著繼續把范圍縮小。
由于服務器上采用SQL數據庫的站點并不多,便于建立獨立進程ID來觀察,將所有采用SQL數據庫的站點在IIS管理器中分別建立獨立的應用程序池,然后通過CMD界面輸入:iisapp -a 命今查看并記錄下各IIS池的進程ID號,通過多次現象重現時的觀察,有個IIS進程ID是導致此次問題的罪魁禍首。 
以下是方案3:
在IIS6下,經常出現w3wp.exe的內存及CPU占用不能及時釋放,從而導致服務器響應速度很慢。 
 
解決內存占用過多,可以做以下配置: 
1、在IIS中對每個網站進行單獨的應用程序池配置。即互相之間不影響。
2、設置應用程序池的回收時間,默認為1720小時,可以根據情況修改。再設置當內存占用超過多少(如500M),就自動回收內存。

解決CPU占用過多:
1、在IIS中對每個網站進行單獨的應用程序池配置。即互相之間不影響。
2、設置應用程序池的CPU監視,不超過25%(服務器為4CPU),每分鐘刷新,超過限制時關閉。 

根據w3wp取得是那個一個應用程序池:  
1、在任務管理器中增加顯示pid字段。就可以看到占用內存或者cpu最高的進程  
2、在命令提示符下運行iisapp -a。注意,第一次運行,會提示沒有js支持,點擊確定。然后再次運行就可以了。這樣就可以看到pid對應的應用程序池。(iisapp實際上是存放在C:\windows\system32目錄下的一個VBS腳本,全名為iisapp.vbs,如果你和我一樣,也禁止了Vbs默認關聯程序,那么就需要手動到該目錄,先擇打開方式,然后選“Microsoft (r) Windows Based Script Host”來執行,就可以得到PID與應用程序池的對應關系。)
3、到iis中察看該應用程序池對應的網站,就ok了,做出上面的內存或CPU方面的限制,或檢查程序有無死循環之類的問題。
本頁網址:http://www.kimling.cn/biancheng/a/2018090655634.shtml,如果對您有幫助歡迎收藏或轉載網址,歡迎再次訪問http://www.kimling.cn
更多關于 windows2003 服務器 IIS 占用 CPU 資源 的文章
相關閱讀
  • 服務器教程2018-09-07 IIS7.5打開啟用GZip壓縮功能的設置教程方法
  • 服務器教程2007-03-11 IIS服務器常見錯誤解析及排錯指南、錯誤代碼

相關排行總榜

ASP教程

PHP教程

.NET教程

ASP采集功能WinHttp.WinHttpRequest.5.1的
AspJpeg圖片處理組件屬性的詳細中文使用說
通過ASP生成html純靜態頁面的簡單示例
ASP開發中一個把GB2312轉UTF-8編碼的函數
推薦幾個ASP開發中常用的fso操作文件圖片
ASP讀取操作生成excel文件的實例代碼教程
使用ASP進行網站開發防范ASP木馬的10條建
通過ASP調用MSSQL數據庫視圖和存儲過程的
通過aspupload上傳組件實現的ASP實現遠程
ASP調用MSSQL存儲過程進行分頁的兩種方式
PHP解決HTTP和HTTPS跨域共享session的方法
php程序判斷來訪客戶端是手機端還是電腦P
用PHP來獲取當前頁面所有url參數信息的教
配置好環境后,進行php代碼調試的方法總結
教您使用php代碼實現上傳圖片或文件到服務
PHP開發中推薦十款最出色的安全開發工具庫
PHP基礎學習之數組介紹
淺談JSP與ASP.PHP的各種平臺應用比較
php制作一個萬年歷查詢的實例代碼教程
制作簡單安全的php驗證碼類代碼實例
ASP.NET環境配置中幾種身份驗證方式及權限
記錄一次對ASP.NET網站漏洞的入侵和防范教
Asp.net在mvc環境下實現上傳頭像加剪裁功
對 ASP.NET 異步編程的一點理解與分析
ASP.NET讀取與操作Session的代碼案例教程
ASP.NET將大文件數據分成較小的部分進行分
講解.Net組件程序設計之異步調用
AS腳本與Asp.net通過UrlRequest進行前端交
一組常用的.NET命名空間中文解釋
asp.net解決url地址欄傳遞中文參數出現亂
吸奶头吸到高潮视频免费视频,中文字幕无码第1页,里番高H无码无修在线观看,99热成人精品国产免