Why w3wp cpu high
Find centralized, trusted content and collaborate around the technologies you use most. Connect and share knowledge within a single location that is structured and easy to search.
An ASP. This is on a staging server and the site is only getting very light traffic from testers at this point. Where can we start finding out what's causing these episodes and what code is keeping the CPU busy during all that time? It's not much of an answer, but you might need to go old school and capture an image snapshot of the IIS process and debug it. NET, but the blog is relevant to windows debugging in general.
If you select the ASP. NET tag which is what I've linked to then you'll see several items that are similar. A profiler seems like a good choice for finding an infinite loop. Deadlocks are much more difficult to track down, however. Process Explorer is an excellent tool for troubleshooting. You can try it for finding the problem of high CPU usage. It gives you an insight into the way your application works. You can also try Procdump to dump the process and analyze what really happened on the CPU.
Also, look at your perfmon counters. They can tell you where a lot of that cpu time is being spent. Here's a link to the most common counters to use:.
We had this on a recursive query that was dumping tons of data to the output - have you double checked everything does exit and no infinite loops exist?
By default, there will be at least two. Click for full size. This will show the process identifier PID of the w3wp. Many performance issues can be related to an incorrectly configured application pool in IIS. The default settings as installed by Ivanti EPM are the recommended settings.
Outdated information exists that recommends adding worker processes, adjusting timeouts, etc. This is not recommended. The following screenshot demonstrates the default settings, click for full size:.
If the server is a NUMA capable server, additional options will exist. These should be left at default as well. You will need to convert that to the local time of the Core Server in order to correctly interpret when the log file entries occurred. Microsoft has the following article that details using their tool to troubleshoot high CPU usage. Database maintenance plans should be set up, regular indexing of the database should help keep performance up to par. According to database performance, the following registry key can be modified to increase or decrease the number of threads that are available from the Web Service to the database:.
NET applications have requests per second. However, I have also seen lightweight web requests on busy apps doing over requests per second. The volume of traffic from one web app to another and the related CPU usage varies wildly.
Using an APM solution, like Retrace, can help you track performance over time of your entire application. It can also tell you which specific web requests take the longest.
APM tools use. NET profilers and other data collection techniques to understand the performance of your application down to the code level. By identifying which web requests are taking the longest, you may be able to identify your high CPU issue or identify parts of your application that could use some performance review to improve.
Slowdowns from any application dependency can cause performance problems with your application. Tracking the performance of your application to this level requires an APM tool, like Retrace.
Retrace tracks the performance of your application down to the code level. It can help you quickly identify slow SQL queries, web service calls, and much more.
NET utilizes garbage collection to manage the allocation and release of memory. Depending on what your application does, the allocation and cleanup of application memory can cause a lot of garbage collection activity. For example, the usage of lots of large string variables on the large object heap causes garbage collection problems. To measure if garbage collection could be causing problems for your application, check this Windows Performance Counter:.
Garbage collection also has two modes. You may need to enable server mode , which is not the default. There are many steps in the lifecycle of an ASP. NET request. This includes basic steps like the start of the request, authentication, authorization, evaluating the correct HTTP handler and finishing the request.
As part of this, there are many standard and custom HTTP modules that may be in use. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix. If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article.
If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix. Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix.
For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:. If you do not see your language, it is because a hotfix is not available for that language.
To apply this hotfix, your computer must be running one of the following Windows operating systems:. For more information about how to obtain a Windows Vista service pack, click the following article number to view the article in the Microsoft Knowledge Base:.
The English United States version of this hotfix installs files that have the attributes that are listed in the following tables.
0コメント