Overview of Performance Monitoring |
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.
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" |
To start Task Manager, use any of these methods:
You can also start Task Manager from the command prompt or the Run dialog box.
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
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.
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
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:
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
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 |