Overview of Performance Monitoring

Previous Topic Next Topic

Task Manager

Task Manager provides information about applications currently running on your system, the processes and memory usage or other data about those processes, and statistics about memory and processor performance.

Comparison with System Monitor

Although useful as a quick reference to system operation and performance, Task Manager lacks the logging and alert capabilities of the Performance console. In addition, although the data displayed by Task Manager comes from the same source as some performance counters, Task Manager does not have access to the breadth of information available from all installed counters. However, Task Manager provides capabilities not available with the Performance console, as described in Table 5.4. For information about these capabilities, see online Help for Task Manager and the chapters identified in Table 5.4.

Table 5.4 Other Chapters on Task Manager

Capability Server Operations Guide chapter
Stop running processes. "Analyzing Processor Activity"
Change the base priority of a process. "Analyzing Processor Activity"
Set affinity for a process to a particular processor (on multiprocessor systems). "Measuring Multiprocessor System Activity"

Starting Task Manager

To start Task Manager, use any of these methods:

You can also start Task Manager from the command prompt or the Run dialog box.

Working with Task Manager

Task Manager has three tabs: Applications, Processes, and Performance. While Task Manager is running, the status bar always displays the total number of processes, CPU use, and virtual memory use for the system. Note the following display possibilities:

When Task Manager is running, an accurate miniature CPU usage gauge appears on the taskbar on the end opposite the Start button. When you place the mouse pointer over this icon, it displays the percentage of processor use in text format. The miniature gauge always matches the CPU Usage History chart on the Performance tab, as shown in Figure 5.9.

Figure 5.9    Task Manager CPU Gauge Shown on the Taskbar
Enlarge figure

Figure 5.9 Task Manager CPU Gauge Shown on the Taskbar

To make Task Manager the top window, double-click the gauge, or right-click the gauge and then select Task Manager from the menu that appears.

If you run Task Manager frequently and do not want to see its button on the taskbar, click Hide When Minimized on the Options menu. To open an instance of Task Manager when it is hidden, click the Task Manager CPU gauge on the taskbar.

You can control the rate at which Task Manager updates its counts by setting the Update Speed option on the View menu.

This will reduce Task Manager overhead, but might cause you to miss some data. You can force an update at any time by clicking Refresh Now on the View menu or by pressing F5.

Monitoring Processes

In Task Manager, click the Processes tab to see a list of running processes and measures of their performance. The Task Manager process table includes all processes that run in their own address space, including all applications and system services.

To include those in the display, on the Options menu, click Show 16-bit Tasks. Figure 5.10 is an example of how Task Manager displays process information.

Figure 5.10    Processes Tab in Task Manager
Enlarge figure

Figure 5.10 Processes Tab in Task Manager


note-icon

Note

System Monitor displays its values in bytes, whereas Task Manager displays its values in kilobytes, which are units of 1,024 bytes. When you compare System Monitor and Task Manager values, multiply System Monitor values by 1,024.

To add to or remove performance measures from the display for the processes listed, on the View menu, click Select Columns. Table 5.5 briefly describes the measures and their System Monitor counterparts, if any.

Table 5.5 Comparison of Process Data Supplied by Task Manager and System Monitor

Task Manager process measure
Description
System Monitor process object counters
Base Priority The base priority of the process, which determines the order in which its threads are scheduled for the processor.

The base priority is set by the process code, not the operating system. The operating system sets and changes the dynamic priorities of threads in the process within the range of the base.

Use Task Manager to change the base priority of processes. For more information about changing priority to improve processor performance, see "Analyzing Processor Activity" in this book.

Priority Base
CPU Time The total processor time, in seconds, used by the process since it was started. None
CPU Usage The percentage of time the threads of the process used the processor since the last update. % Processor Time
GDI Objects The number of Graphics Device Interface (GDI) objects currently used by a process. A GDI object is an object from the GDI library of application programming interfaces (APIs) for graphics output devices. None
Handle Count The number of object handles in the process's object table. Handle Count
I/O Other The number of input/output operations generated by a process that are neither reads nor writes, including file, network, and device I/Os. An example of this type of operation would be a control function. I/O Others directed to CONSOLE (console input object) handles are not counted. I/O Other Operations/sec

For more information about monitoring I/O, see the following chapters in this book:

"Examining and Tuning Disk Performance""Monitoring Network Performance"
I/O Other Bytes The number of bytes transferred in input/output operations generated by a process that are neither reads nor writes, including file, network, and device I/Os. An example of this type of operation would be a control function. I/O Other Bytes directed to CONSOLE (console input object) handles are not counted. I/O Other Bytes/sec
I/O Read Bytes The number of bytes read in input/output operations generated by a process, including file, network, and device I/Os. I/O Read Bytes directed to CONSOLE (console input object) handles are not counted. I/O Read Bytes/sec
I/O Reads The number of read input/output operations generated by a process, including file, network, and device I/Os. I/O Reads directed to CONSOLE (console input object) handles are not counted. I/O Read Operations/sec
I/O Write Bytes The number of bytes written in input/output operations generated by a process, including file, network, and device I/Os. I/O Write Bytes directed to CONSOLE (console input object) handles are not counted. I/O Write Bytes/sec
I/O Writes The number of write input/output operations generated by a process, including file, network, and device I/Os. I/O Writes directed to CONSOLE (console input object) handles are not counted. I/O Write Operations/sec
Image Name Name of the process. The process name in the Instances box
Memory Usage The amount of main memory, in kilobytes, used by the process. Working Set
Memory Usage Delta The change in memory use, in kilobytes, since the last update. Unlike System Monitor, Task Manager displays negative values. None
Nonpaged Pool The amount of memory, in kilobytes, used by a process. Operating system memory that is never paged to disk. Paging is the moving of infrequently used parts of a program's working memory from RAM to another storage medium, usually the hard disk. Pool Nonpaged Bytes
Page Faults The number of times that data had to be retrieved from disk for this process because it was not found in memory. This value is accumulated from the time the process is started. None

Page faults/sec is the rate of page faults over time.

Page Faults Delta The change in the number of page faults since the last update. None
Paged Pool The amount of system-allocated virtual memory, in kilobytes, used by a process. The paged pool is virtual memory available to be paged to disk. Paging is the moving of infrequently used parts of a program's working memory from RAM to another storage medium, usually the hard disk. The paged pool includes all of user memory and a portion of system memory. Pool Paged Bytes
Peak Memory Usage The peak amount of physical memory resident in a process since it started. None
PID (Process Identifier) Numerical ID assigned to the process while it runs. ID Process
Thread Count The number of threads running in the process. Thread Count
USER Objects The number of USER objects currently being used by a process. A USER object is an object from Window Manager, which includes windows, menus, cursors, icons, hooks, accelerators, monitors, keyboard layouts, and other internal objects. None
Virtual Memory Size The amount of virtual memory, or address space, committed to a process. Private Bytes

For more information about Task Manager and its use in monitoring processor and memory performance, see the following chapters in this book:

Monitoring the System

To see a dynamic overview of system performance, including a graph and numeric display of processor and memory usage, click the Task Manager Performance tab, as shown in Figure 5.11.

Figure 5.11    Task Manager Performance Tab
Enlarge figure

Figure 5.11 Task Manager Performance Tab

To graph the percentage of processor time in privileged or kernel mode, click Show Kernel Times on the View menu. This is a measure of the time that applications are using operating system services. The remaining time, known as user mode, is spent running threads within the application code.

Users of multiple-processor computers can click CPU History on the View menu and then graph the nonidle time of each processor in a single graph or in separate graphs.

The following table briefly describes the counts on the Performance tab and their System Monitor counterparts, if any.

Table 5.6 Comparison of System Data Provided by Task Manager and System Monitor

Task Manager counts Description System Monitor counters
CPU Usage The percentage of time the processor is running a thread other than the Idle thread. Processor\% Processor Time
MEM Usage The amount of virtual memory used, in kilobytes. Memory\Committed Bytes
Total Handles The number of object handles in the tables of all processes. Process(_Total)\Handle Count
Total Threads The number of running threads, including one Idle thread per processor. Process(_Total)\Thread Count
Total Processes The number of active processes, including the Idle process. Object\Processes is the same, but excludes the Idle process.
Physical Memory: Total Amount of physical, random access memory, in kilobytes, installed in the computer. None
Physical Memory: Available Amount of physical memory available to processes, in kilobytes.

It includes zeroed, free, and standby memory.

Memory\Available Bytes
Physical Memory: File Cache Amount of physical memory, in kilobytes, released to the file cache on demand. Memory\Cache Bytes
Commit Charge: Total Size of virtual memory in use by all processes, in kilobytes. Memory\Committed Bytes
Commit Charge: Limit Amount of virtual memory, in kilobytes, that can be committed to all processes without enlarging the paging file. Memory\Commit Limit
Commit Charge: Peak The maximum amount of virtual memory, in kilobytes, used in the session.

The commit peak can exceed the commit limit if virtual memory is expanded.

None
Kernel Memory: Total Sum of paged and nonpaged memory, in kilobytes. None

(Sum of Pool Paged Bytes and Pool Nonpaged Bytes)

Kernel Memory: Paged Size of the paged pool, in kilobytes, allocated to the operating system. Memory\Pool Paged Bytes
Kernel Memory: Nonpaged Size of the nonpaged pool, in kilobytes, allocated to the operating system. Memory\Pool Nonpaged Bytes

© 1985-2000 Microsoft Corporation. All rights reserved.