w3wp.exe進(jìn)程占用內(nèi)存過(guò)高解決方法
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)行。這個(gè)進(jìn)程用來(lái)分配大量的系統(tǒng)資
今天研究了一下,可以做以下配置:
1、在IIS中對(duì)每個(gè)網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。
2、設(shè)置應(yīng)用程序池的回收時(shí)間,默認(rèn)為1720小時(shí),可以根據(jù)情況修改。同時(shí),設(shè)置同時(shí)運(yùn)行的w3wp進(jìn)程數(shù)目為1。再設(shè)置當(dāng)內(nèi)存或者cpu占用超過(guò)多少,就自動(dòng)回收內(nèi)存
一般來(lái)說(shuō),這樣就可以解決了。但仍然會(huì)出現(xiàn)個(gè)別網(wǎng)站因?yàn)槌绦騿?wèn)題,不能正確釋放。
那么,怎么樣才能找到是哪一個(gè)網(wǎng)站的?
1、在任務(wù)管理器中增加顯示pid字段。就可以看到占用內(nèi)存或者cpu最高的進(jìn)程pid
2、在命令提示符下運(yùn)行iisapp -a。注意,第一次運(yùn)行,會(huì)提示沒(méi)有js支持,點(diǎn)擊確定。然后再次運(yùn)行就可以了。這樣就可以看到pid對(duì)應(yīng)的應(yīng)用程序池
3、到iis中察看該應(yīng)用程序池對(duì)應(yīng)的網(wǎng)站,就ok了。
最近公司服務(wù)器總出現(xiàn)CPU100%占用情況,服務(wù)器配置為雙核Xeon3.0×2,2G ECC內(nèi)存。
發(fā)現(xiàn)是w3wp.exe長(zhǎng)時(shí)間占用大量CPU.出現(xiàn)這種情況應(yīng)該是網(wǎng)站程序存在死循環(huán)等問(wèn)題所致。
在找到問(wèn)題以前可以暫時(shí)采取限制w3wp進(jìn)程CPU使用率的方法保證網(wǎng)站可以將就著工作:
在IIS6下,經(jīng)常出現(xiàn)w3wp.exe的內(nèi)存及CPU占用不能及時(shí)釋放,從而導(dǎo)致服務(wù)器響應(yīng)速度很慢。
解決CPU占用過(guò)多:
1、在IIS中對(duì)每個(gè)網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。
2、設(shè)置應(yīng)用程序池的CPU監(jiān)視,不超過(guò)25%(服務(wù)器為4CPU),每分鐘刷新,超過(guò)限制時(shí)關(guān)閉。
根據(jù)w3wp取得是哪一個(gè)應(yīng)用程序池:
1、在任務(wù)管理器中增加顯示pid字段。就可以看到占用內(nèi)存或者cpu最高的進(jìn)程pid
2、在命令提示符下運(yùn)行iisapp -a。注意,第一次運(yùn)行,會(huì)提示沒(méi)有js支持,點(diǎn)擊確定。然后再次運(yùn)行就可以了。這樣就可以看到pid對(duì)應(yīng)的應(yīng)用程序池。(iisapp實(shí)際上是存放在 C:windowssystem32目錄下的一個(gè)VBS腳本,全名為iisapp.vbs,如果你和我一樣,也禁止了Vbs默認(rèn)關(guān)聯(lián)程序,那么就需要手動(dòng)到該目錄,先擇打開(kāi)方式,然后選“Microsoft (r) Windows Based Script Host”來(lái)執(zhí)行,就可以得到PID與應(yīng)用程序池的對(duì)應(yīng)關(guān)系。)
3、到iis中察看該應(yīng)用程序池對(duì)應(yīng)的網(wǎng)站,就ok了,做出上面的內(nèi)存或CPU方面的限制,或檢查程序有無(wú)死循環(huán)之類(lèi)的問(wèn)題。
解決內(nèi)存占用過(guò)多,可以做以下配置:
1、在IIS中對(duì)每個(gè)網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。
2、設(shè)置應(yīng)用程序池的回收時(shí)間,默認(rèn)為1720小時(shí),可以根據(jù)情況修改。再設(shè)置當(dāng)內(nèi)存占用超過(guò)多少(如500M),就自動(dòng)回收內(nèi)存。
我的設(shè)置如下:
首先是對(duì)CPU的限制:在啟用cpu監(jiān)視后,我設(shè)置該應(yīng)用程序池最大的cpu使用率為50%。設(shè)置刷新cpu時(shí)間為1分鐘,設(shè)置操作為“關(guān)閉”。最大工作進(jìn)程數(shù)設(shè)置為1。這個(gè)意思是,IIS刷新檢測(cè)該獨(dú)立池的CPU使用情況時(shí)間為1分鐘,如果超過(guò)設(shè)置的cpu限制50%,就會(huì)發(fā)出關(guān)閉池的指令,要求池在指定的時(shí)間內(nèi)關(guān)閉。如果池成功在這個(gè)時(shí)間內(nèi)關(guān)閉,IIS會(huì)重啟動(dòng)一個(gè)新池,此段時(shí)間很短,一般不會(huì)有什么感覺(jué),池就重新開(kāi)啟了,對(duì)于訪問(wèn)網(wǎng)站的人基本是不會(huì)有感覺(jué)的。但如果池沒(méi)有在指定時(shí)間內(nèi)關(guān)閉,IIS就會(huì)強(qiáng)行關(guān)閉它一個(gè)刷新CPU時(shí)間。在這個(gè)停止的時(shí)間內(nèi),網(wǎng)站無(wú)法訪問(wèn),提示“Service Unavaliable”。
關(guān)閉時(shí)間和啟動(dòng)時(shí)間間隔設(shè)置:設(shè)短一些比如10秒,這樣當(dāng)您的網(wǎng)站程序大量占用系統(tǒng)資源時(shí)IIS自動(dòng)快速回收進(jìn)程并且快速啟動(dòng)進(jìn)程,您的網(wǎng)站暫時(shí)還可以將就著工作。
對(duì)內(nèi)存的限制及進(jìn)程回收時(shí)間的設(shè)置:我設(shè)置為內(nèi)存占用超過(guò)800M就自動(dòng)回收內(nèi)存,虛擬內(nèi)存沒(méi)有做限制。進(jìn)程回收時(shí)間我保持默認(rèn)沒(méi)有修改。各位可以根據(jù)自己的情況設(shè)置更短的時(shí)間。對(duì)應(yīng)用程序池最大虛擬內(nèi)存也可以在此進(jìn)行設(shè)置,超過(guò)了設(shè)置的最大虛擬內(nèi)存,該池會(huì)就被回收。
相關(guān)文章
服務(wù)器授權(quán)模式每服務(wù)器同時(shí)連接數(shù)與每設(shè)備或每用戶(hù)的區(qū)別小結(jié)
服務(wù)器授權(quán)模式每服務(wù)器同時(shí)連接數(shù)與每設(shè)備或每用戶(hù)的區(qū)別小結(jié),需要的朋友可以參考下。2011-04-04Windows Server 修改遠(yuǎn)程桌面端口的實(shí)現(xiàn)
本文主要介紹了Windows Server 修改遠(yuǎn)程桌面端口的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06IIS HTTP 錯(cuò)誤 404.17 - Not Found 解決方法
這篇文章主要介紹了IIS出現(xiàn)Errore HTTP 404.2 - Not Found" IIS 7.5 請(qǐng)求的內(nèi)容似乎是腳本,因而將無(wú)法由靜態(tài)文件處理程序來(lái)處理問(wèn)題的解決方法,需要的朋友可以參考下2014-05-05IIS服務(wù)器下做301永久重定向設(shè)置方法[圖解]
以前也沒(méi)怎么關(guān)注301重定向,第一因?yàn)闆](méi)有網(wǎng)站要重定向,第二對(duì)于不帶www的域名我都是用的轉(zhuǎn)發(fā)到帶www的域名。2011-10-10Win2003 Server 安全的個(gè)人Web服務(wù)器
Win2003 Server的安全性較之Win2K確實(shí)有了很大的提高,但是用Win2003 Server作為服務(wù)器是否就真的安全了?如何才能打造一個(gè)安全的個(gè)人Web服務(wù)器。2009-10-10基于Win2008 R2的WSFC實(shí)現(xiàn) SQL Server 2012高可用性組(AlwaysOn Group)
SQL Server 2012高可用性組在實(shí)現(xiàn)過(guò)程中較之早起的SQL Server故障轉(zhuǎn)移群集來(lái)講,不依賴(lài)特別提供共享存儲(chǔ)磁盤(pán)陣列,每個(gè)節(jié)點(diǎn)獨(dú)立存儲(chǔ)一份數(shù)據(jù)庫(kù)的副本2013-06-06iis Win32狀態(tài)數(shù)值(sc-win32-status)說(shuō)明
在iis的日志里面,有一項(xiàng)是sc-win32-status,這個(gè)的中文名字就是Win32狀態(tài),那么,該狀態(tài)不同的數(shù)值代表什么呢?2008-07-07win2003 vps IIS6中添加站點(diǎn)并綁定域名的配置方法
這篇文章主要介紹了windows2003 VPS或服務(wù)器中 IIS6中添加站點(diǎn)并綁定域名設(shè)置教程,需要的朋友可以參考下2017-04-04如何解決windows系統(tǒng)和linux系統(tǒng)中端口被占用的問(wèn)題
這篇文章主要介紹了如何解決windows系統(tǒng)和linux系統(tǒng)中端口被占用的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2015-10-10Windows Server 2016 服務(wù)器配置指南之IIS10安裝方法
這篇文章主要介紹了Windows Server 2016 服務(wù)器配置指南之IIS10安裝方法,需要的朋友可以參考下2017-08-08