Event ID 2003 — Performance Counter Status

Applies To: Windows Server 2008

Performance Counters are collected and used by services and applications. If they are installed incorrectly or with improper permissions, or if required files are not enabled on the system, those services or applications cannot collect or interpret the data.

Event Details

Product: Windows Operating System
ID: 2003
Source: Microsoft-Windows-PerfCtrs
Version: 6.0
Message: Unable to allocate memory for TDI Information block. Close one or more applications and retry.


Close programs to increase available memory

If your system is so low on virtual memory that it cannot collect performance data, you must close some open applications in order to make additional system resources available. You can use Task Manager to identify applications consuming the most memory and to close them.

Close top resource consumers using Task Manager

To close top resource consumers using Task Manager:

  1. Press Ctrl+Shift+ESC to open Task Manager.
  2. On the Processes tab, click the column header to sort by Memory (Private Working Set). Click the column header again to reverse the sort order.
  3. Use the list to identify applications consuming the most memory. Attempt to close an identified applications normally, either by clicking the close button on the application window or by using the menu option to exit.
  4. If the application is unresponsive, on the Applications tab in Task Manager, click the application you want to close and then click End Task. Windows will attempt to close the application normally. You might be prompted to save your work. Note that in low resource conditions, this step can take several seconds.
  5. If Windows cannot close the application normally, you will be prompted to end the process. Ending a process can cause data loss. You can choose a different application to close if you are concerned about losing data in the current application.

More ways to identify what is causing the system to be low on resources include generating a System Diagnostics Report using Reliability and Performance Monitor, or using Resource Monitor to determine, in real-time, which applications or services are utilizing too many system resources. These procedures may take several minutes if the system is critically low on resources.

Membership in the local Administrators group is the minimum required to complete these procedures.

To generate a System Diagnostics Report, which will present system information collected for 60 seconds, follow the steps in the "Generate a System Diagnostics Report" section. To use Resource Monitor to monitor system resources in real-time, follow the steps in the "Start Resource Monitor" section.

Note: Generating a System Diagnostics Report involves collecting performance counters. You must close some open applications before attempting to generate the report.

Generate a System Diagnostics Report

To collect system information for 60 seconds and generate a System Diagnostics Report:

  1. Open an elevated Command Prompt. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
  2. Type perfmon /report and press ENTER. Reliability and Performance Monitor will start collecting data to create the System Diagnostics Report.
  3. When the report is ready for viewing, locate the Diagnostic Results section of the report and check for any Warnings. You can follow links to additional help on resolving warnings from this section. In addition, you can expand each category in the Basic System Checks section to see more details about why warnings appear. Also, the Performance section provides process-level detail about top consumers of resources.

Start Resource Monitor

To start Resource Monitor:

Important: Resource Monitor stops displaying real-time information while a System Diagnostics Report is being generated. To start displaying real-time information after a System Diagnostics Report has completed, in Monitor, click Start.

  1. Open an elevated Command Prompt. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
  2. Type perfmon /res and press ENTER. Resource Monitor will start running.
  3. Four scrolling graphs in the Resource Overview pane display the real-time usage of CPU, Disk, Network, and Memory. Four expandable sections below the graphs contain process-level detail about each resource. Click the resource labels to see more information, or click a graph to expand its corresponding details. You can use the real-time usage information to identify top resource consumers. Click a column heading to sort the data in the table by that column; click the column heading again to reverse the sort order.


You can use Windows Reliability and Performance Monitor to verify that netowkr performance counters are properly collected and displayed in a Performance Monitor graph. In addition, you can use the typeperf command to get a list of the available counters on the local system.

Membership in the local Administrators group is required to complete these procedures.

View counters in Performance Monitor

To view counters in Performance Monitor:

  1. On the computer where you want to view counters, click Start. In the Start Search text box, type perfmon.exe, and then press ENTER.
  2. In the navigation pane, expand Monitoring Tools, and then click Performance Monitor.
  3. Click the Add button to open a list of available performance counters.
  4. In the Add Counters dialog box, you can click Help for more information on adding counters. When you have finished adding counters to the list, click OK.
  5. Verify that the performance counters you selected are displayed in the Performance Monitor graph.

View a list of counters using the typeperf command

To view a list of counters at the command prompt:

  1. Click Start, click All Programs, and click Accessories. Right-click Command Prompt, and click Run as administrator.
  2. At the command prompt, type typeperf -qx and press ENTER.
  3. Verify that the performance counter list contains expected values.

Performance Counter Status

Management Infrastructure