綠色資源網:您身(shēn)邊最放心(xīn)的安全下載站! 最新軟件|熱門排行|軟(ruǎn)件分類|軟件專題|廠商大全

綠色資源網

技術教程
您的位置(zhì):首頁服務器類Web服(fú)務器 → w3wp.exe占用CPU和內存高的問題

w3wp.exe占用(yòng)CPU和內存高的問題

我要(yào)評論 2009/09/09 19:42:04 來源:綠色(sè)資源網 編輯:綠色資源站 [ ] 評論:0 點擊:677次

WINDOWS2003 IIS6下,經常出現w3wp的內存占用不能及時釋放,從(cóng)而導致服務器響(xiǎng)應(yīng)速度很慢。
實際案例
服務器配置
至強2.8G
內存512M
SCSI硬(yìng)盤 2塊 (軟鏡像)
係統 windows 2003
現(xiàn)在掛(guà)了(le)一個(gè)asp.net開發的網站,訪問量不大 但是(shì)出現一個,問題就是每(měi)當服務器運行2-3天後,訪問網站就特別慢,重啟動服(fú)務器(qì)後就正(zhèng)常了。
查看進程使用內存(cún)的情況,發現w3wp.exe和sqlservr.exe進(jìn)程占用內存相當大 達到了170多M( 每個),物理可用內存幾乎(hū)用(yòng)光,(服務器重啟(qǐ)動時 占用的內存很小才40多M 每個),以前網站掛在一個虛擬機上,數據庫是分開掛的,從沒出現這種情況。
後來(lái),原版移植到新服務器上就出現這(zhè)樣的問題
還個一問題就是在SQL企業管(guǎn)理器中查看(kàn)SQL進程發現有很多是.net 引起的進程是sleeping但是卻占用了內存無法釋放
采(cǎi)取措施:
IIS服務管理器----》應用程序池----》添(tiān)加你的應用,並設置最大(dà)內存,當程序達到最大內存後其會自動重(chóng)啟。
將內存升級至2G,訪問量比較高,一般是差不多運行24小時後就得重啟,內存沒(méi)耗完,W3WP進程占到(dào)一百八九十(shí)兆,SQL占了二(èr)百多(duō)兆(zhào)時就得重啟,不然整個站點就宕了。
解決方(fāng)法一:
w3wp.exe就是(shì)你的ASP.NET應用宿主(zhǔ),如果你使用了大量的Session、Cache等資源,並(bìng)且Session超市時間很長,那麽內存占用量就比較大。應用池是為增加性能而設的(de)一個特性,但是也消耗很大的內存。另外關掉Windows Server 2003裏(lǐ)的大多(duō)數Service(那個不用都可以關掉),也可以節省一部分內存
1.懷疑在程序中應用的CACHE,
2.CACHE中有(yǒu)大量的(de)數(shù)據
3.頻繁刷新CACHE
4.沒有設計好CACHE的方式
解決方法二(èr):
跟蹤下SQL的調(diào)用記錄,在每次(cì)往CACHE或SESSION寫入(rù)大(dà)量數據時(shí)記錄一下時間,看是否太過頻繁
1.在win2003裏(lǐ)asp.net的進程就是w3wp.exe
2.512M內(nèi)存個人用是夠用了,但是放(fàng)在服(fú)務器上就有點不(bú)夠用(yòng)了,尤其是win2003 asp.net sql server 。尤其是sql server 他是很吃內存(cún)的,如果不控製的話,他會占光所有的物理內存(隻剩下幾十M 倒 100M 吧)。win2003 本身就要占用150M左右。也就剩不下什麽了。
3.優(yōu)化asp.net程序,就(jiù)向樓上的(de)說的那樣,少用或不用session cache application之類的東西,再有就是是不是有翻頁的地方,翻頁處理不好也是會占很(hěn)多內存的(de)。
4.限製sql的內存。企業管理器——SQL的屬性(一般是local)——“內存”標簽。在這裏看內存的設置,把最大值改成100M。
解決方法三:
研究了一(yī)下,可以做以下(xià)配置:
1、在IIS中對每個網站進行單獨的應(yīng)用程序池配置。即互(hù)相(xiàng)之間不影響。
2、設置應用程序池的回收時間,默認為1720小時(shí),可以根據情況修改。同時,設置同時運行的w3wp進程數目為1。再設置當內(nèi)存(cún)或者cpu占用超(chāo)過多少,就自動回(huí)收內存
一般來說,這樣就可以解決了。但仍(réng)然會出現個別網站因為(wéi)程序(xù)問題,不能正確釋(shì)放。
那麽,怎麽樣才能找到是哪一(yī)個網站的?
1、在任務管理(lǐ)器中增加顯示pid字(zì)段(duàn)。就可以看到占用內存或者cpu最高的進程pid
2、在命(mìng)令提示符下運行iisapp -a。注意,第一次運行,會提示沒有js支持,點擊確定。然後再次運行(háng)就可以了。這樣就可以看到pid對應的應用程序池
3、到iis中察看該應用程序池對應的網站,就ok了。
解決方(fāng)法四:
建義(yì)2003係統安裝(zhuāng)至少1G內存。
w3wp.exe是2003下的一個iis進(jìn)程,至於sql占用內存,那(nà)有可能是因為你的sql沒有設置占用內存上限
在IIS6下(xià),經常出現w3wp.exe的內存(cún)及CPU占用不能及時釋放,從而導致(zhì)服務器(qì)響應速度很慢。
解決內存占用過多,可以做以下配置:
1、在IIS中對每個網站進行單獨的應用程序池配置。即互相之間不影響。
2、設置應(yīng)用程序池的回收時間,默認為1720小時(shí),可以(yǐ)根據情況修改。再設(shè)置當內存占用超過(guò)多(duō)少(如500M),就自動回收內存。
解決CPU占用過多:
1、在IIS中對每個網站進行單獨的應用程序池配置。即互相之間不影響。
2、設置應用程序(xù)池的CPUjian視,不超過25%(服務器為4CPU),每分鍾刷新,超過限製時(shí)關閉。
根據w3wp取得是那個一個應用程序池:
1、在任(rèn)務管(guǎn)理器(qì)中增加(jiā)顯示pid字段。就可以看到占用(yòng)內存或者cpu最高的進程pid
2、在命令提示符下運行iisapp -a。注意,第一次運行,會提示沒(méi)有js支持,點擊確定。然後再次運行就可以了。這樣就可以看到pid對應的應用程序池。(iisapp實際上是存放在(zài)C:\windows\system32目錄下的一個VBS腳本,全名為iisapp.vbs,如(rú)果你(nǐ)和我一樣,也禁止了Vbs默認關聯程序,那麽就需要手動到該目錄(lù),先擇打開方式,然後選“Microsoft (r) Windows Based Script Host”來執行,就可(kě)以得到PID與應用(yòng)程序池的對應(yīng)關係。)
3、到iis中察看該應用程序池(chí)對應的網站,就ok了,做出(chū)上麵的內存或CPU方麵的限製(zhì),或檢(jiǎn)查程(chéng)序有無死(sǐ)循環之類的問題。

關鍵詞:w3wp.exe,CPU,內(nèi)存

閱讀本文(wén)後您有什麽感(gǎn)想? 已有 人給出評價!

  • 1 歡迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視(shì)
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡