Task Manager Mastery

Last time, we finished the series on maintaining your
server and your sanity by keeping up with the tasks of
managing your newly installed Windows 2000 Server. Now,
let's turn to issues related to boosting server performance.
A good place to start is with Task Manager.

Task Manager is a popular built-in Win2K utility that's
accessed by right-clicking the Start menu bar, or selecting
Task Manager from the Windows Security dialog box. Task
Manager allows you to terminate rogue applications and
services.

The Three Faces of Task Manager

It's likely that you have been using Task Manager for
some time as an MCSE. This tool dates has been included
in early iterations of Windows NT and remains much the
same in Windows 2000. Task Manager has three tabs--Performance,
Applications, Processes--and I'll discuss them in increasing
order of popularity (in my humble opinion).

Applications

The Applications tab (see Figure 1) is the least sexy
view of Task Manager but one that I access more than any
other. It's here that you can, at a glance, observe the
status of an application that is running (or not running).

Figure 1. Applications view in
Task Manager will tell you if an application is not
responding.

I typically view the Application tab when I'm running
an application that is no longer responding. It's the
easiest to terminate any foreground application that "freezes,"
simply by clicking the End Task button. It's also useful
when you're installing an application that appears to
stall. For example, when installing Microsoft Exchange
2000 Server as part of the Small Business Server 2000
beta program, numerous modifications are made to the Active
Directory schema. At times, the installation progress
bar stops, which could lead you to conclude the setup
process has failed. Most folks at this point commit one
of the deadly Win2K sins-turning off the server machine
at the power button. Ouch! Instead of living the life
of a Win2K sinner, first turn to the Applications tab
and see whether or not your application is running.

Master Tip: Let me share
with you this little-known trick that you can use with
Task Manager's Application tab to see exactly what "process"
is associated with an application: Simply right-click
on the application listed under Task on the Applications
tab and select Go To Process on the secondary menu. You
will be immediately taken the to the specific process
on the Processes tab. This trick is extremely beneficial
when you want to see if the application is consuming inordinate
amounts of primary (RAM) memory. You can also observe
how much of the CPU cycle the application is consuming.

Performance

Certainly the most attractive view in Task Manager is
the Performance view (see Figure 2). One of the highlights
of the Performance tab is the ability to check whether
the machine you're working with is a dual or single processor
machine, as far as Windows 2000 is concerned. This is
harder to know than it seems. The only time you're told
whether the multi-processor kernel is loaded is by quickly
looking for that information as the Windows 2000 Server's
character-based start-up screen appears. Worse, suppose
you put a second processor in your machine and are bewildered
why your performance has not improved? Glancing at the
CPU Usage History line chart on the Performance tab will
provide the answer. If there is a single line graph, Windows
2000 believes this machine has a single processor. If
there are two line charts, Windows 2000 believes this
is a dual processor machine.

Master Tip: If you've
physically installed a second processor and the Performance
tab displays a single line graph signifying a single processor,
you'll need to upgrade the Windows 2000 kernel from uniprocessor
to multiprocessor. For more information about implementing
and optimizing multiprocessor systems, see "Measuring
Multiprocessor System Activity" in the Microsoft Windows
2000 Server Resource Kit Server Operations Guide.

Figure 3. More memory is available
when large applications are closed (compare this to
Figure 2, where the applications are open).

Another fact that often escapes overworked Windows 2000
MCSEs is exactly how much physical RAM memory the machine
actually has. I've seen stressed-out MCSEs reboot the
machine to obtain this value from the machine BIOS during
the character-based Power On Start Test (POST). Instead
of taking such draconian measures, simply observe the
Total field under the Physical Memory (K) category. The
Free field reports the amount of free physical RAM memory.

If RAM memory and a paging file comprise my primary memory,
how much memory does Windows 2000 believe I have and how
much free? This can be observed via the three views provided
by MEM Usage. The MEM Usage denominator value at the bottom
right of Task Manager, displayed in text, shows the total
amount of primary memory Windows 2000 believes it has
(which is the Physical RAM plus the paging file). The
numerator is the amount of primary memory being used.
This same memory consumption value is displayed as both
a histogram (bar) chart and a line chart in the center
of Task Manager.

Master Tip: You may
have noticed that Figure 2 reflects significant primary
memory consumption. That's because I'm running two large
applications (Microsoft Internet Security and Acceleration
Server 2000 Administration MMC, Exchange System Administrator
MMC) in addition to a whole host of Small Business Server
2000 services. If I close the Microsoft Internet Security
and Acceleration Server 2000 Administration MMC and the
Exchange System Administrator MMC, a significant amount
of primary RAM memory is freed (you can see this in Figure
3). The lesson learned is that you shouldn't run unnecessary
services and applications on your Windows 2000 machine.

Processes

I saved the Processes tab (see Figure 4) for last. This
is the most technical tab and often referenced when you're
on the telephone with Microsoft Technical Support. On
a day-to-day basis, you can use the Processes tab to observe
if a process-say, the tape backup program--has a memory
leak and is consuming tons of memory.

Figure 4. The Processes tab in
Task Manager is more technical in appearance than
the other tabs.

Further notable aspects of Task Manager:

PID. The Process ID (PID)
is listed next to the process, allowing you to execute
the KILL command at the command line to terminate an
out-of-control process. Of course you can more easily
accomplish the same thing by clicking the End Process
button.

Set Priority. Right-clicking
a process and selecting Set Priority allows you to set
the processing priority for the process from Realtime
to Low. I describe processor priorities in great detail
in Chapter 20 of my book, Windows 2000 Server Secrets
(IDG Books).

Set Affinity. By default,
activity is distributed over multiple processors in
Windows 2000 without any involvement from you. This
is a technique known as Symmetrical Multiprocessing
(SMP). However, you can assign a process to a specific
processor by selecting the Set Affinity menu option
displayed on the secondary menu when you right click
a process. This allows you to invoke Asymmetrical Multiprocessing
just like the good old mainframe days.

Customize. Choosing Select
Columns on the View menu when the Processes tab is displayed
in Task Manager allows you to select many more reporting
columns (see Figure 5). If you click OK, the Processes
tab reflects many more columns of information (see Figure
6).

Figure 5. Adding columns to the
Processor tab of Task Manager.

Figure 6. The Processor tab reports
much more information once columns have been added.
(Click image to view larger version.)

Bet you never knew Task Manager had so many tools. This
installment of Windows 2000 Foundations represented the
first of three columns on boosting Windows 2000 performance.
Next time, I'll focus on System Monitor.