?
Solved

w3wp.exe process running frequently at 100% CPU

Posted on 2008-10-21
3
Medium Priority
?
1,528 Views
Last Modified: 2008-11-11
I have two IIS web servers hosting a lot of custom developed ASP.NET web applications. The two web servers are hosting the same content in a load balanced manner.

Very frequently the CPUs on both boxes spin up to 100% utilisation and the offending process is the w3wp.exe process. I believe that the problem is to do with the code in one of these ASP.NET applications but I am not sure how to identify which one.

I'm currently running ~30 Applications in the one DefaultAppPool and the w3wp.exe process is regularly taking up 300 MB of RAM.

What can I do to identify the problem code?

Thanks

Mat
0
Comment
Question by:it-services
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 11

Expert Comment

by:AnthonyP9618
ID: 22773070
Download the IIS Debug tools... Probably the most helpful in looking for IIS problems and offending code.

http://www.microsoft.com/downloads/details.aspx?FamilyID=01c4f89d-cc68-42ba-98d2-0c580437efcf&DisplayLang=en
0
 
LVL 4

Accepted Solution

by:
Interserv earned 2000 total points
ID: 22773332
We recently ran into a similar issue.  w3wp.exe is the process for the application pool.  If you can split the application pool between the 30 different Applications it will be easier to debug.  I found IISstate and DebugDiag1.1 the easiest tools for debugging.  Use IISstate for gathering a dump and DebugDiag for looking into the dump.

DebugDiag:
http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

IISstate:
http://www.iisfaq.com/default.aspx?view=P197

You can also use a Sysinternal called Procexp.exe or process explorer.  It is like Task Manager on steroids.  You can take a look at memory and CPU utilization of each w3wp.exe process running (one for each application pool).  This will help you identify which app pool is spiking system resources and narrow down the code.  Then you can run your debug with the tools already mentioned.

This was somewhat helpful in understanding thing more:
http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO_Understand_and_Diagnose_an_AppPool_Crash.aspx

0
 
LVL 1

Author Comment

by:it-services
ID: 22937112
Thanks Interserv

I split up the Applications into different app pools which helped me identify which one had the problem code.


0

Featured Post

Get proactive database performance tuning online

At Percona’s web store you can order full Percona Database Performance Audit in minutes. Find out the health of your database, and how to improve it. Pay online with a credit card. Improve your database performance now!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A phishing scam that claims a recipient’s credit card details have been “suspended” is the latest trend in spoof emails.
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
Suggested Courses

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question