<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>PerfGuide</title><link>http://blogs.technet.com/b/perfguide/</link><description /><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Low Available RAM</title><link>http://blogs.technet.com/b/perfguide/archive/2010/09/28/low-available-ram.aspx</link><pubDate>Tue, 28 Sep 2010 08:08:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3358332</guid><dc:creator>Clint Huffman</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/perfguide/rsscomments.aspx?WeblogPostID=3358332</wfw:commentRss><comments>http://blogs.technet.com/b/perfguide/archive/2010/09/28/low-available-ram.aspx#comments</comments><description>&lt;p&gt;If you have arrived here, then you have identified a low available RAM condition on your Windows computer. If this is not correct, then return to the &lt;a href="http://blogs.technet.com/b/perfguide/archive/2010/09/28/the-microsoft-pfe-performance-guide-start-here.aspx"&gt;Start&lt;/a&gt; of the Performance Guide.&lt;/p&gt;  &lt;h3&gt;Available RAM Concepts&lt;/h3&gt;  &lt;p&gt;When the counter “\Memory\Available MBytes&amp;quot; has a value less than 64, then the computer is low on available RAM. This is certainly a relative threshold because years ago when computers had only 100MBs of RAM, 64MBs of available RAM would have been a good thing. In this case, we assume at least 1GB of RAM is installed on the computer, therefore 64MBs would be considered too low.&lt;/p&gt;  &lt;p&gt;The Available MBytes counter is the sum of all free, zero (a page of memory with all zeroes written to it), and standby pages of memory. All of this memory is page of RAM that can be reused for processes. Generally, about 10% of your RAM being available is considered good because that allows up to 10% of it to be used for disk cache – meaning if a file is being read from the disk, but it already has it in disk cache, then it reads it from RAM versus going to the disk. Disks are dramatically slower than RAM, so having a lot of RAM being used for disk cache is a good this. This is why it is a good thing to have more RAM.&lt;/p&gt;  &lt;p&gt;If the “\Memory\Free &amp;amp; Zero Page List Bytes” counter constantly has over 100MBs or more of memory, then this means that you likely have too much RAM which isn’t a bad thing unless you are concerned about the electricity drain from the RAM modules.&lt;/p&gt;  &lt;h3&gt;Troubleshooting&lt;/h3&gt;  &lt;p&gt;If Available MBytes is less than 10% of RAM or less than 100 [MBs], then it is important to determine which processes are consuming the most RAM, the processes on an increasing trend or RAM usage, the System Cache memory usage, and if the system is reaching its commit limit.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Is the System Low on Committed Memory:&lt;/strong&gt; Lack of RAM may be a symptom of the system reaching its commit limit. If “\Memory\Committed Bytes In Use” is greater than 75%, then the computer may be running low on physical resources (RAM and/or page file). If you suspect this problem, then follow the link below. Otherwise, continue to step 3.      &lt;br /&gt;[Link to future blog post]      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Identify which Processes are Consuming the Most RAM:&lt;/strong&gt; The “Working Set” of a process is the amount of RAM in use by a process. Look at “\Process(*)\Working Set” to see which processes are consuming the most RAM and which are on an increasing trend. Keep in mind that Working Set is only the amount of RAM usage of a process and does not show memory that has been paged out.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Is System Cache Consuming RAM: &lt;/strong&gt;If the values from the “\Memory\Cache Bytes” and/or “\Memory\System Cache Resident Bytes” performance counters are more than 50% of RAM, then go here. [Link to future blog post]      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Is the Computer a Virtual Computer:&lt;/strong&gt; Some virtual computer hosts might remove RAM from the virtual computer when the host or other virtual computers are low on RAM. If you suspect this condition, then consult with your virtual server software vendor and/or add RAM to to the host and virtual computer.      &lt;br /&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Treating the Symptoms&lt;/h3&gt;  &lt;p&gt;If all of the above troubleshooting steps have been exhausted, then the symptoms of low available RAM can be treated with one or more of the following:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Add RAM:&lt;/strong&gt; More RAM will increase the amount available to the system.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Increase Page File Access Speeds:&lt;/strong&gt; When the computer is low on available RAM, it will aggressively page out the working sets of processes. If read/write speeds to the page file are delayed due to other disk activity, then consider placing the page file on faster disks. See Disk performance [Link to future blog post].&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Increase the Page File or Add more Page Files:&lt;/strong&gt; When the computer is low on available RAM, it will aggressively page out the working sets of processes. Adding more page files, increasing the maximum range, or allowing the system to manage the page file(s) will allow it to page out more memory. See troubleshooting committed memory here [Link to future blog post].&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Avoid “Memory Optimizers”:&lt;/strong&gt; Windows is very efficient at managing memory. So called, “memory optimizers” simply force the kernel to delete its disk cache and trim the working sets (more paging) of processes. All this does is cause a lot of unnecessary disk I/O.&lt;/li&gt; &lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3358332" width="1" height="1"&gt;</description></item><item><title>User Mode Versus Privileged Mode Processor Usage</title><link>http://blogs.technet.com/b/perfguide/archive/2010/09/28/user-mode-versus-privileged-mode-processor-usage.aspx</link><pubDate>Tue, 28 Sep 2010 07:34:26 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3358326</guid><dc:creator>Clint Huffman</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/perfguide/rsscomments.aspx?WeblogPostID=3358326</wfw:commentRss><comments>http://blogs.technet.com/b/perfguide/archive/2010/09/28/user-mode-versus-privileged-mode-processor-usage.aspx#comments</comments><description>&lt;p&gt;You have arrived at this point in the adventure because you have identified high processor usage on your Windows computer. If this is not correct, then return to the &lt;a href="http://blogs.technet.com/b/perfguide/archive/2010/09/28/the-microsoft-pfe-performance-guide-start-here.aspx"&gt;Start&lt;/a&gt; of the Performance Guide.&lt;/p&gt;  &lt;p&gt;Threads (the worker bees of a process) can execute in one of two modes: User Mode or Privileged Mode&lt;/p&gt;  &lt;p&gt;This article will help you determine what kind of processor mode your computer or server is spending most of it’s time in. This is important because this is a major decision path in the adventure and change change the troubleshooting steps and the outcome dramatically.&lt;/p&gt;  &lt;p&gt;“\Processor(_Total)\% Processor Time” is the sum of “\Processor(*)\% User Time” and “\Processor(*)\% Privileged Time”. &lt;/p&gt;  &lt;h3&gt;Privileged (Kernel) Mode&lt;/h3&gt;  &lt;p&gt;Privileged Time is the amount of time being spent in the Windows kernel executing system calls such as drivers, IRPs (I/O Request Packets), context switching, etc. If the operating system is spending more than 30% of it’s time in privileged mode, then it means that it is likely doing a high amount of I/O and one or more of the drivers are executing to manage that I/O. &lt;/p&gt;  &lt;p&gt;You can identify this by using Task Manager, clicking on the Performance tab, then go to View, Show Kernel Times or by using the “\Processor(*)\% Privileged Time” performance counter in Performance Monitor.&lt;/p&gt;  &lt;p&gt;The following screenshot shows a high amount of privileged time processor usage.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/clinth/WindowsLiveWriter/ChooseYourOwnAdventureUserModeVersusPriv_B44/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/clinth/WindowsLiveWriter/ChooseYourOwnAdventureUserModeVersusPriv_B44/image_thumb.png" width="190" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If your computer or server is spending more than 30% of it’s time in privileged mode, then look at a % DPC Time, % Interrupt Time, and Context Switches/sec in performance monitor.&lt;/p&gt;  &lt;p&gt;If “\Processor(*)\% DPC Time” is greater than 20%, or if “\Processor(*)\% Interrupt Time” is greater then 20%, then go &lt;a href="http://blogs.technet.com/b/perfguide/archive/2010/09/28/choose-your-own-adventure-high-deferred-procedure-calls-dpcs-or-high-interrupts.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;If both of the counters above show very low values (less than 20%), then it could also be caused by high amounts of context switches per second.&lt;/p&gt;  &lt;p&gt;Here is a case study on how to solve high context switching due to high disk I/O.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/b/clinth/archive/2009/10/28/the-case-of-the-2-million-context-switches.aspx" target="_blank"&gt;The Case of the 2 Million Context Switches&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With that said, high context switching can also be caused by a high number of ready threads on the system, so reducing the number of threads can help as well.&lt;/p&gt;  &lt;p&gt;Here is a good article by Mark Russinovich on how to use the driver SDK tool, KernRate, to profile the kernel. KernRate only works on Windows XP/2003 computers.    &lt;br /&gt;&lt;a href="http://blogs.technet.com/markrussinovich/archive/2008/04/07/3031251.aspx"&gt;Mark Russinovich’s The Case of the System Process CPU Spikes&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;User Mode&lt;/h3&gt;  &lt;p&gt;User Time is the amount of time the processor spends executing application code therefore we need to determine what processes are consuming the most time and the function calls they are executing the most.&lt;/p&gt;  &lt;p&gt;You can identify this by using Task Manager, clicking on the Performance tab, then go to View, Show Kernel Times or by using the “\Processor(*)\% User Time” performance counter in Performance Monitor.&lt;/p&gt;  &lt;p&gt;The following screenshot shows a high amount of user time processor usage.&lt;/p&gt;  &lt;p&gt;&lt;img title="HighCPU4.GIF" alt="HighCPU4.GIF" src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=PerfTesting&amp;amp;DownloadId=6400" /&gt;     &lt;br /&gt;&lt;img title="HighCPU5.GIF" alt="HighCPU5.GIF" src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=PerfTesting&amp;amp;DownloadId=6401" /&gt;&lt;/p&gt;  &lt;p&gt;If your computer or server is spending most of it’s time in user mode, then follow this link on how to troubleshoot this issue:    &lt;br /&gt;&lt;a href="http://perftesting.codeplex.com/wikipage?title=How%20To%3a%20Identify%20a%20Disk%20Performance%20Bottleneck%20Using%20SPA&amp;amp;version=6"&gt;How To: Identify Functions causing a High User-mode CPU Bottleneck for Server Applications in a Production Environment&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3358326" width="1" height="1"&gt;</description></item><item><title>Choose Your Own Adventure: High Deferred Procedure Calls (DPCs) or High Interrupts</title><link>http://blogs.technet.com/b/perfguide/archive/2010/09/28/choose-your-own-adventure-high-deferred-procedure-calls-dpcs-or-high-interrupts.aspx</link><pubDate>Tue, 28 Sep 2010 07:31:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3358324</guid><dc:creator>Clint Huffman</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/perfguide/rsscomments.aspx?WeblogPostID=3358324</wfw:commentRss><comments>http://blogs.technet.com/b/perfguide/archive/2010/09/28/choose-your-own-adventure-high-deferred-procedure-calls-dpcs-or-high-interrupts.aspx#comments</comments><description>&lt;p&gt;You have arrived here because you have identified a high amount (greater than 50%) of processor time (\Processor(*)\% Processor Time), a high amount (greater than 30%) of privileged time (kernel time) (\Processor(*)\% Privileged Time) and a high amount of deferred procedure calls (greater than 20%) (\Processor(*)\% DPC Time) or a high number of interrupts (greater than 20%) (\Processor(*)\% Interrupt Time) on your Windows computer. If this is not correct, then return to the &lt;a href="http://blogs.technet.com/b/perfguide/archive/2010/09/28/the-microsoft-pfe-performance-guide-start-here.aspx"&gt;Start&lt;/a&gt; of the Performance Guide.&lt;/p&gt;  &lt;p&gt;% DPC Time is the percentage of time that the processor spent receiving and servicing deferred procedure calls (DPCs) during the sample interval. DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a component of % Privileged Time because DPCs are executed in privileged mode. They are counted separately and are not a component of the interrupt counters.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.windowsitpro.com/print/performance/examining-xperf.aspx"&gt;&lt;/a&gt;&lt;/p&gt; % Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. These devices normally interrupt the processor when they have completed a task or require attention. Normal thread execution is suspended during interrupts. Most system clocks interrupt the processor every 10 milliseconds, creating a background of interrupt activity. suspends normal thread execution during interrupts. This counter displays the average busy time as a percentage of the sample time.   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;High Deferred Procedure Calls (DPCs) and high interrupts are typically caused by very busy or poorly written device drivers. Consider using a tool such as Microsoft xPerf to assist with diagnosis of this problem.&lt;/p&gt;  &lt;p&gt;Here is an article by Windows IT Pro Magazine that goes into diagnosing DPC issues using Microsoft xPerf:&lt;/p&gt;  &lt;p&gt;Windows IT Pro Magazine: Examining xPerf    &lt;br /&gt;&lt;a href="http://www.windowsitpro.com/print/performance/examining-xperf.aspx"&gt;http://www.windowsitpro.com/print/performance/examining-xperf.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tip: &lt;/strong&gt;If the computer hangs often, then while it is hung, press the Cap Lock key on the keyboard to see if the light on the keyboard toggles on and off when you press it. If the Cap Lock key light does not respond, then the computer is hung due to a hardware problem. Otherwise, it is most likely a software problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3358324" width="1" height="1"&gt;</description></item><item><title>The Microsoft PFE Performance Guide: Start Here</title><link>http://blogs.technet.com/b/perfguide/archive/2010/09/28/the-microsoft-pfe-performance-guide-start-here.aspx</link><pubDate>Tue, 28 Sep 2010 07:13:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3358318</guid><dc:creator>Clint Huffman</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/perfguide/rsscomments.aspx?WeblogPostID=3358318</wfw:commentRss><comments>http://blogs.technet.com/b/perfguide/archive/2010/09/28/the-microsoft-pfe-performance-guide-start-here.aspx#comments</comments><description>&lt;p&gt;Welcome to the Microsoft Premier Field Engineering (PFE) Windows performance analysis guide. This is a web of interconnected documents intended to assist Microsoft Premier Field Engineers (PFE), Microsoft Support Professionals, and IT Professionals with prescriptive guidance on how to diagnose Windows performance issues in production environments and provide steps toward resolution. &lt;/p&gt;  &lt;p&gt;This document assumes the reader is familiar with how to use &lt;a href="http://technet.microsoft.com/en-us/library/cc749249.aspx" target="_blank"&gt;Microsoft Windows Performance Monitor&lt;/a&gt; (perfmon) to gather and view live performance counters.&lt;/p&gt;  &lt;p&gt;You have arrived here because you suspect a performance problem with your Microsoft Windows computer or server.&lt;/p&gt;  &lt;h2&gt;Initial Indicators of Windows Performance Problems&lt;/h2&gt;  &lt;p&gt;Start with the four primary resources of a computer: Memory, Processor, Disk, and Network, then branch out from there. The following is the performance counters (Microsoft Performance Monitor) that indicate a potential issue with each respective resource. &lt;a href="http://technet.microsoft.com/en-us/library/cc749249.aspx" target="_blank"&gt;Microsoft Windows Performance Monitor&lt;/a&gt; performance counters are used to initially identify performance problems, then various other tools are used to as next steps towards resolution.&lt;/p&gt;  &lt;h3&gt;Memory&lt;/h3&gt;  &lt;p&gt;Microsoft &lt;a href="http://en.wikipedia.org/wiki/Windows" target="_blank"&gt;Windows&lt;/a&gt; uses many kinds of memory. Windows memory can be categorized into physical &lt;a href="http://en.wikipedia.org/wiki/RAM" target="_blank"&gt;RAM&lt;/a&gt;, committed memory, application &lt;a href="http://en.wikipedia.org/wiki/Virtual_memory" target="_blank"&gt;virtual memory&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Kernel_(computing)" target="_blank"&gt;kernel&lt;/a&gt; virtual memory.&lt;/p&gt;  &lt;h5&gt;Physical RAM&lt;/h5&gt;  &lt;p&gt;The easiest and best initial indicator of a lack of physical RAM condition is the “\Memory\Available MBytes” performance counter. Available MBytes is the amount of physical memory, in Megabytes, immediately available for allocation to a process or for system use. It is equal to the sum of memory assigned to the standby (cached), free and zero page lists.&lt;/p&gt;  &lt;p&gt;If “\Memory\Available MBytes” is less than 100MBs or less than 5% of total physical RAM, then the computer may be running critically low on physical RAM. If you suspect this condition, then go &lt;a href="http://blogs.technet.com/b/perfguide/archive/2010/09/28/low-available-ram.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;h5&gt;Committed Memory&lt;/h5&gt;  &lt;p&gt;Committed Bytes is the amount of committed virtual memory, in bytes. Committed memory is the physical memory which has space reserved on the disk paging file(s). In other words, it is memory that is “in use” by processes. The Commit Limit is the sum of all of the physical resources in which the operating system can use to store data – it is the sum of RAM and all of the page files. Once all of RAM and all of the page files are full and unable to expand, then the system has reached its commit limit. The “\Memory\% Committed Bytes In Use” performance counter is the percentage of the Commit Charge measured by “\Memory\Committed Bytes” compared to the commit limit measured by “\Memory\Commit Limit”.&lt;/p&gt;  &lt;p&gt;If “\Memory\Committed Bytes In Use” is greater than 75%, then the computer may be running low on physical resources (RAM and/or page file). If you suspect this problem, then follow this link for next steps:    &lt;br /&gt;[Link to future blog post]&lt;/p&gt;  &lt;h5&gt;Application Virtual Memory&lt;/h5&gt;  &lt;p&gt;Each process in Windows has its own, private virtual address space. Ideally, virtual memory should be unimaginably large, but the fact remains that it is a finite resource. If an application (user mode) runs out of virtual memory, then it will likely crash with an out of memory exception.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Identify the Maximum Virtual Address Space for Applications:&lt;/strong&gt; Use the following command (usable on Windows XP/2003 and greater) to determine the maximum size of application virtual memory:       &lt;br /&gt;&lt;font size="2" face="Courier New"&gt;wmic PATH Win32_OperatingSystem GET MaxProcessMemorySize        &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;Sample output of this command for a Windows 7 x64 computer is:       &lt;br /&gt;&lt;font size="2" face="Courier New"&gt;MaxProcessMemorySize        &lt;br /&gt;8589934464         &lt;br /&gt;        &lt;br /&gt;&lt;/font&gt;The output is in bytes, therefore this Windows 7 x64 computer has 8TBs of virtual memory per process. If an application (user mode) runs out of virtual memory (meaning if it gets close to the MaxProcessMemorySize), then it will likely crash with an out of memory exception which can typically be found in the Application Event log unless the application is designed for this condition.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Is Virtual Memory Low:&lt;/strong&gt; If “\Process(*)\Virtual Memory” exceeds 80% of the MaxProcessMemorySize, then the application is likely running out of virtual memory and might crash soon if unable to find contiguous memory for its next memory allocation. If you suspect this problem, then follow this link for next steps:       &lt;br /&gt;[Link to future blog post] &lt;/li&gt; &lt;/ol&gt;  &lt;h5&gt;Kernel Virtual Memory&lt;/h5&gt;  &lt;p&gt;The kernel also resides in virtual memory. If it runs out of virtual memory, then the operating system can hang. The kernel has three important resources that resources in virtual memory: System Page Table Entries (PTEs), pool paged, and pool non-paged memory pools.&lt;/p&gt;  &lt;h6&gt;System Page Table Entries&lt;/h6&gt;  &lt;p&gt;System Page Table Entries provide the mapping between virtual and physical memory. If the system is out of PTEs, then it is unable to allocate memory to processes.&lt;/p&gt;  &lt;p&gt;If “\Memory\Free System Page Table Entries” is less than 10,000, then the operating system will likely suffer long performance delays. If you suspect this problem, then follow this link for next steps:    &lt;br /&gt;[Link to future blog post]&lt;/p&gt;  &lt;p&gt;While the future blog post is under construction, here is other documents on troubleshooting low PTE problems:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.technet.com/b/cotw/archive/2008/04/07/symptoms-lack-of-free-system-page-table-entries-ptes-and-system-wide-delays-i-o-request-failures.aspx" target="_blank"&gt;Symptoms: Lack of Free System Page Table Entries (PTEs) and system-wide delays (I/O request failures)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/b/cotw/archive/2008/04/07/symptoms-lack-of-free-system-page-table-entries-ptes-and-error-message-error-no-system-resources-1450.aspx" target="_blank"&gt;Symptoms: Lack of Free System Page Table Entries (PTEs) and Error Message: ERROR_NO_SYSTEM_RESOURCES (1450)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/b/cotw/archive/2008/04/07/symptoms-lack-of-free-system-page-table-entries-ptes-and-no-system-wide-delays.aspx" target="_blank"&gt;Symptoms: Lack of Free System Page Table Entries (PTEs) and no system-wide delays&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/b/cotw/archive/2008/04/07/symptoms-lack-of-free-system-page-table-entries-ptes-system-wide-delays-i-o-request-failures-and-low-on-paged-pool-memory-and-or-non-paged-pool-memory-on-32-bit-windows.aspx" target="_blank"&gt;Symptoms: Lack of Free System Page Table Entries (PTEs), system-wide delays (I/O request failures), and low on Paged Pool Memory and/or Non-paged Pool Memory on 32-bit Windows&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h6&gt;Pool Paged and Pool Non-Paged Memory Pools&lt;/h6&gt;  &lt;p&gt;Pool Paged and Pool Non-Paged pools serve as the memory resources that the operating system and device drivers use to store their data structures. When they are unable to allocate memory, then the operating system will likely suffer long performance delays. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Identify the Maximum Pool Sizes:&lt;/strong&gt; Performance counters do not provide the maximum sizes of the memory pools, therefore use &lt;a href="http://live.sysinternals.com/procexp.exe"&gt;Process Monitor&lt;/a&gt; and the &lt;a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;Microsoft Debugging Tools for Windows&lt;/a&gt; to identify them. The following document shows how to install the &lt;a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;Microsoft Debugging Tools for Windows&lt;/a&gt; and how to use &lt;a href="http://live.sysinternals.com/procexp.exe"&gt;Process Monitor&lt;/a&gt; to show the maximum pool sizes:       &lt;br /&gt;&lt;a href="http://blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx?wa=wsignin1.0" target="_blank"&gt;Pushing the Limits of Windows: Paged and Nonpaged Pool&lt;/a&gt; by Mark Russinovich       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Is Virtual Memory Pools Low:&lt;/strong&gt; If “\Memory\Pool Paged Bytes” or “\Memory\Pool NonPaged Bytes” are close to or exceed 80% of their respective maximum sizes, then the operating system will likely suffer long performance delays. If you suspect this problem, then follow the link for next steps:       &lt;br /&gt;[Link to future blog post]       &lt;br /&gt;      &lt;br /&gt;While the future blog post is under construction, here is a document on troubleshooting low pool memory problems:       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://blogs.technet.com/b/cotw/archive/2008/04/07/symptoms-lack-of-free-system-page-table-entries-ptes-system-wide-delays-i-o-request-failures-and-low-on-paged-pool-memory-and-or-non-paged-pool-memory-on-32-bit-windows.aspx" target="_blank"&gt;Symptoms: Lack of Free System Page Table Entries (PTEs), system-wide delays (I/O request failures), and low on Paged Pool Memory and/or Non-paged Pool Memory on 32-bit Windows&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx?wa=wsignin1.0" target="_blank"&gt;Pushing the Limits of Windows: Paged and Nonpaged Pool&lt;/a&gt; by Mark Russinovich           &lt;br /&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Processor&lt;/h3&gt;  &lt;p&gt;If “\Processor(_Total)\% Processor Time” is greater than 80% on average, then the computer may be busy with the processor resource. If your computer meets this criteria or you suspect it, then follow this link:    &lt;br /&gt;&lt;a href="http://blogs.technet.com/b/perfguide/archive/2010/09/28/user-mode-versus-privileged-mode-processor-usage.aspx"&gt;User Mode Versus Privileged Mode Processor Usage&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Disk&lt;/h3&gt;  &lt;p&gt;If “\LogicalDisk(*)\Avg Disk Sec/Read” or “\LogicalDisk(*)\Avg Disk Sec/Write” is greater than 15ms (0.015 seconds), then the computer may have a disk performance issue. If your computer meets this criteria or you suspect it, then follow this link:    &lt;br /&gt;[Link to future blog post]&lt;/p&gt;  &lt;h3&gt;Network&lt;/h3&gt;  &lt;p&gt;If “\Network Interface(*)\Output Queue Length” is greater than 2 on average, then the network adapter is not able to put network packets on the network fast enough. This could be due to network latency, chattiness, packet loss, etc. If your computer meets this criteria or you suspect it, then follow this link:    &lt;br /&gt;[Link to future blog post]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3358318" width="1" height="1"&gt;</description></item></channel></rss>