XP系統(tǒng)w3wp.exe進(jìn)程占用CPU內(nèi)存過大怎么辦

XP系統(tǒng)w3wp.exe進(jìn)程占用CPU內(nèi)存過大怎么辦

時(shí)間:2018-05-02 09:53 作者: 來源:系統(tǒng)城

1. 掃描二維碼隨時(shí)看資訊

2. 請(qǐng)使用手機(jī)瀏覽器訪問:

手機(jī)查看
評(píng)論

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

  常見原因如下:

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

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

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

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

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

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

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

  4、Http方式下載的站點(diǎn)

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

  5、服務(wù)器資源不會(huì)自動(dòng)釋放

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

  6.對(duì)IIS日志文件操作

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

  解決辦法:

  一、快速定位到出問題的站點(diǎn)

  1、利用iisapp-a命令,快速的定位到出問題的站點(diǎn)。當(dāng)然如果當(dāng)前服務(wù)器只跑了一個(gè)web站點(diǎn),那么此步驟可以跳過;

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

XP系統(tǒng)w3wp.exe進(jìn)程占用CPU內(nèi)存過大怎么辦

  2、當(dāng)然,這個(gè)要求你每個(gè)站點(diǎn),都要有獨(dú)立的應(yīng)用程序池與之對(duì)應(yīng),應(yīng)用程序池的名稱,最好就是站點(diǎn)的名稱,如下圖:

XP系統(tǒng)w3wp.exe進(jìn)程占用CPU內(nèi)存過大怎么辦

  3、關(guān)于IIS的應(yīng)用程序池的配置,這里就不說了,不懂的可以search下。之后,再打開任務(wù)管理器,如下圖:

XP系統(tǒng)w3wp.exe進(jìn)程占用CPU內(nèi)存過大怎么辦

  4、觀察進(jìn)程為w3wp.exe的,查看那個(gè)CPU占用的高,再利用其PID于iisapp中列出的結(jié)果對(duì)比,就能輕松的找出是那個(gè)站點(diǎn)占用的CPU過高了。

  二、重啟IIS和應(yīng)用程序池

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

  三、給頁面加上頁面級(jí)別緩存

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

  OutputCache非常有用,好處有三:直接從內(nèi)存讀頁面,頁面響應(yīng)速度更快,用戶體驗(yàn)更好;大大的降低了服務(wù)器的壓力,特別是對(duì)于高并發(fā)的網(wǎng)站,特別是CPU的壓力;減少了DB的強(qiáng)求,降低DB(數(shù)據(jù)庫)的壓力。

  四、檢查頁面邏輯

  如果WEB流量很低,但是還有w3wp.exe(IIS) CPU占用100%左右的情況,那么就檢查頁面的代碼邏輯吧,很有可能是死循環(huán)或大量的運(yùn)算導(dǎo)致。

  以上便是關(guān)于XP系統(tǒng)w3wp.exe進(jìn)程占用CPU內(nèi)存過大的解決方法,知道故障原因,然后對(duì)癥下藥,希望教程內(nèi)容能夠幫助到大家!

< 上一篇

vcf是什么格式文件?win10系統(tǒng)打開vcf文件的方法

下一篇 >

xp系統(tǒng)磁盤空間丟失變少如何恢復(fù)

相關(guān)教程

網(wǎng)友評(píng)論

0

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見解

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)城立場(chǎng)

Xp系統(tǒng)教程排行榜
系統(tǒng)下載排行

系統(tǒng)合集
最近更新

系統(tǒng)

軟件

安卓

文章