當前位置:雨林木風 > 雨林木風系統(tǒng)教程 > 雨林木風xp系統(tǒng)w3wp.exe進程占用CPU內(nèi)存過大怎么辦?

雨林木風xp系統(tǒng)w3wp.exe進程占用CPU內(nèi)存過大怎么辦?

更新時間:2018-05-12 13:24:17    來源:雨林木風官網(wǎng)     游覽量: 173 次

  雨林木風xp系統(tǒng)運行速度越來越慢,打開任務管理器發(fā)現(xiàn)w3wp.exe進程占用CPU內(nèi)存過大,已經(jīng)高到100%了,難怪系統(tǒng)運行速度變慢。w3wp.exe是什么進程?為什么占用率那么高,w3wp.exe是IIS工具的一部,w3wp.exe是在IIS(因特網(wǎng)信息服務器)與應用程序池相關聯(lián)的一個進程,如果你有多個應用程序池,就會有對應的多個w3wp.exe的進程實例運行。那么如何解決此問題,我們來看下原因和解決方法。

  常見原因如下:

  1、Web訪問量大,從而服務器壓力大而引起的

  這個也是最常見的情況。如果Web訪問量大,特別是同時在線人數(shù)過多,處理的Requests Current(當前請求數(shù))過高,就會同時對IIS和服務器造成較大的壓力。特別是服務器需要不斷的運算,往客戶端發(fā)送生成后的頁面,這些都需要占用大量的CPU資源,從而造成Cpu 100%。

  2、動態(tài)頁面(.aspx)的程序邏輯復雜程度

  這個問題,對w3wp.exe的CPU占用來說也是蠻嚴重的,可能在訪問量級比較小的情況下并沒有多少影響,但是在高并發(fā)的網(wǎng)站上面來說,特別是Asp.NET的Requests Current超過250的時候,將會是w3wp.exe占用CPU的一個重要的因素。

  我曾經(jīng)碰到過這樣一個情況,兩個web(A和B)在兩臺配置相當?shù)姆掌髦胁渴?,且兩個站點的訪問量都很大,訪問頁面都集中在兩個站點的兩個單獨頁面,且這兩個頁面的IIS連接數(shù)都是50個左右,但是頁面程序的復雜程度就錯了很多,A站點中的頁面,只有幾個簡單的Repeater綁定,而B站點中的頁面,則有大量的綁定、字符串過濾替換、Repeater嵌套綁定等等。這樣的情況,在大流量、高并發(fā)的環(huán)境中,A站點在IIS連接數(shù)達到3W多的時候,CPU占用仍然是50%左右,而B站點在IIS連接數(shù)達到7K左右的時候,CPU就90%多了,造成了服務器的壓力很大,并且IIS遭到了堵塞。

  3、頁面程序中有死循環(huán)

  如果Web訪問量不大,但是CPU卻占用很高,那么頁面中的程序肯定有死循環(huán)或者性能比較嚴重的程序語句。

  4、Http方式下載的站點

  如果站點是HTTP形式下載站,也遇到過w3wp.exe占用CPU 100%的情況。

  5、服務器資源不會自動釋放

  有時,一個站點的流量在一個小時內(nèi)陡增,結果操作系統(tǒng)分配了比較多的CPU資源,但是當流量下去后,w3wp.exe占用的CPU并沒有及時釋放,仍然在保持在90%以上。

  6.對IIS日志文件操作

  比如此時分析IIS日志文件里面的數(shù)據(jù),把IISLog日志導入到數(shù)據(jù)庫中等操作,也會造成此現(xiàn)象。

  解決辦法:

  一、快速定位到出問題的站點

  1、利用iisapp-a命令,快速的定位到出問題的站點。當然如果當前服務器只跑了一個web站點,那么此步驟可以跳過;

  在cmd中輸入iisapp-a,會出現(xiàn)下圖中的信息:

雨林木風xp系統(tǒng)w3wp.exe進程占用CPU內(nèi)存過大怎么辦?

  2、當然,這個要求你每個站點,都要有獨立的應用程序池與之對應,應用程序池的名稱,最好就是站點的名稱,如下圖:

雨林木風xp系統(tǒng)w3wp.exe進程占用CPU內(nèi)存過大怎么辦?

  3、關于IIS的應用程序池的配置,這里就不說了,不懂的可以search下。之后,再打開任務管理器,如下圖:

雨林木風xp系統(tǒng)w3wp.exe進程占用CPU內(nèi)存過大怎么辦?

  4、觀察進程為w3wp.exe的,查看那個CPU占用的高,再利用其PID于iisapp中列出的結果對比,就能輕松的找出是那個站點占用的CPU過高了。

  二、重啟IIS和應用程序池

  此步是緊急處理,一般都是治標不治本的步驟。如果你的站點搭建的有負載均衡(負載均衡、NLB),那么請在負載均衡(負載均衡、NLB)把當前服務器下了,然后重啟。如果你沒有負載均衡(負載均衡、NLB),而且你的站點又是在線的,那么,就悲劇10多秒吧,短暫的不能訪問吧。

  三、給頁面加上頁面級別緩存

  如果Web是Asp.Net程序,那么請一定要<%@ outputcache="" duration="10" varybyparam="none">。但是有好多人都沒有用好OutputCache,導致經(jīng)常出現(xiàn)下載頁面的問題,所以都放棄了使用,這里有OutputCache導致頁面下載的解決辦法。

關于雨林木風xp系統(tǒng)w3wp.exe進程占用CPU內(nèi)存過大怎么辦?的解決方法就跟大家介紹到這邊了,遇到這樣問題的用戶們可以參照上面的方法步驟來解決吧。好了,如果大家還想了解更多的資訊,那就趕緊點擊雨林木風吧。 

 

本文來自雨林木風 gohmusic.com 如需轉(zhuǎn)載請注明!

返回網(wǎng)站首頁
0