webForumDet fria alternativet

IIS CPU/Mem monitor

Webbservrar

7 svar · 673 visningar · startad av zeeki

Medlem sedan sep. 200411 inlägg
Frågan#1

Någon som känner till mjukvara för att kontrollera hur mycket CPU/mem respektive vhost tar upp i IIS? Jag vill alltså veta vilken site som använder mest CPU-kraft samt minne, en iis-monitor helt enkelt dock inte intresserad av request osv.

Jag har själv sökt runt men har inte hittat de jag letar efter.

Tacksam för rekommendationer.

Medlem sedan juli 20044 453 inlägg
#2

Eftersom det styrs per process borde du kunna använda vanliga task manager egentligen, om du nu använder flera application pools. Med tlist kan du sedan ta reda på mer om processen.

Medlem sedan sep. 200411 inlägg
#3

Tack för ditt svar.

Vill börja med att säga att det var bra tänkt, men dessvärre inte så enkelt.
Då application poolen inte körs direkt av vhost användaren så kan jag inte söka efter det. Application poolen körs av network service. Annars hade man bara ha kunnat öppna taskmgr och sen titta sig fram, men Microsoft vill stöka till det för en :)

Min önskan är att kunna se exempelivs att vhost andersson.se använder 3% av cpu och 4 MB minne. Detta för att kunna spåra upp vem som använder mest cpu på hela iis-servern.

Tack

Medlem sedan juli 20044 453 inlägg
#4

Med tlist kan du identifiera namnet på application pool, därav det tillägget :)

Medlem sedan sep. 200411 inlägg
#5

Tack för ditt svar.

Jag har tittat lite mer på tasklist och kan inte hitta något sätt för att ta fram application pool. är du verkligen säker på att tasklist kan ta fram det? Har tittat på hjälpavsnitt för tasklist samt på google utan framgång. Vet du vad det ska vara för prefix?

Tack

Medlem sedan jan. 20013 341 inlägg
#6

Det kan du inte om inte domänen ligger i en separat pool.
En pool = en process av w3wp.exe
en pool kan vara = flera webbplatser
en process av w3wp.exe blir då = flera webbplatser
en process av w3wp.exe = totala CPU och minnes förbrukningen för flera webbplatser

Summan av det hela är att om du vill hitta en webbplats som drar väldigt mycket resurser får du dela in samtliga webbplatser i pooler med mindre antal i, sätt sen den tillåtna minnes och cpu-användningen ganska lågt och därefter håll ett öga i Event Viewern efter pooler som startas om ofta pga av att de nått sin tillåtna gräns.
Den misstänkta poolen får sen delas upp i ytterligare pooler tills du hittar den skyldiga.
Aningen krångligt men det funkar. Ofta har man ett hum om vem som är den skyldiga(typ att det står på aftonbladets förstasida eller så :e (har hänt oss) )

Medlem sedan juli 20044 453 inlägg
#7

Japp, som jag skrev i mitt första inlägg ovan. Detta förutsätter att du använder separata application pools för dina websiter. w3wp är worker processes. Det finns en hel del dokument på microsoft.com om hur man använder application pools för best practices.

Ett annat sätt är ju att faktiskt köra app pools under separata användare ;)

Ett sista sätt är att använda performance monitor + minnesdump. Permon för att hitta vilken tråd som orsakar hög cpu och sedan minnesdumpen för att identifiera vad som görs när "problemet" inträffar.

Medlem sedan sep. 200411 inlägg
#8

Tack för er hjälp.

Tydligen har windows ett eget vbs script som visar application pools samt vilken pid respektive w3wp.exe har. på så vis blir sökningen väldigt mycket enklare. Om ni är intresserade av scriptet så finns den under c:\windows\system32\iisapp.vbs. Som sagt, tack för all hjälp.

275 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
140 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
142 ms — ändringar (db)