XP has several performance improvements over its predecessor Windows
2000, but it requires some more heavy machinery as well. The following
paragraphs describe how to monitor, optimize, and troubleshoot performance
on a Windows XP Professional system.
amount of physical memory as well as the type and the number of
processors in a Windows XP computer are the most determining factors
when it comes to performance. On the Advanced tab of the
Performance Options shown below (click the Settings
button in the Performance section of the Advanced
tab of the System Properties), you can specify
how processor time and memory is put to use.
the Windows XP computer is a regular client, both the Processor
Scheduling and Memory Usage option should be set to
the default selection Programs. If the computer is used
as a ‘server’ i.e. running IIS or a shared application,
and it is not used for the usual client software such as email and
office applications, it is usually better to change the Processor
Scheduling setting to Background services and/or the
Memory Usage setting to System Cache.
is something a computer running Windows XP should have plenty of.
The minimum recommended amount of RAM is 128 MB or higher. Make
that much higher if you are running Microsoft Office or any other
memory consuming application. Because the amount of physical memory
in a computer is often not sufficient for running large programs
simultaneously, Windows XP uses virtual memory. Virtual memory is
the RAM in the computer and a large file on the hard disk. This
file is referred to as paging file or swap file and is named pagefile.sys
on disk. Data is swapped between physical memory and the paging
file as needed. Excessive swapping results in a lot of hard disk
activity, which can indicate that either the paging file is too
small but more often that the computer needs extra physical memory.
can configure the virtual memory settings by clicking the Change
button in the Virtual Memory section of the Advanced
tab of the Performance Options. The recommended
minimum size of the paging file is 1.5 times the amount of the RAM,
and the maximum size 3 times the amount of RAM. For optimal performance,
it is recommended that you locate the paging file on another physical
disk than the operating system.
the Performance tab of the Task Manager you can
get a quick overview of memory (physical and paging file) and processor
usage and availability. You can open the Task Manager by
right-clicking on the Task bar and choosing it from the menu or
by pressing CTRL-AT-DEL and click the Task Manager button.
the Task Manager’s Processes tab shown below
you can see the current running processes and how much CPU and memory
resources each process uses. It also allows you to end a process,
change the priority of a process, and set processor affinity.
processes is useful for killing a process that hangs or looks suspicious.
If the process has child processes you can select End Process
Tree from the right-click menu instead of End Process
(or clicking the End Process button). If an applications
hangs, you should try to end it using the End Task button
on the Applications tab first as it might help to shut
down all related processes and child processes as well.
the priority of a process allows you to increase or reduce the share
of processor time a process gets. Increasing the priority is rarely
done, but if you run a CPU-intensive program (i.e. compiling, rendering,
scanning) that runs for several hours you could lower the priority
for that process reducing the impact it has on foreground applications.
On a dual-processor Windows XP computer, there is an additional
option Set Affinity. This allows you to assign a process
to one single CPU.
more advanced method to monitor memory, processor, disk, network,
and other activity is using Performance from the Administrative
Tools in the control panel. It provides access to two different
tools that can be used for measuring performance on local and remote
Monitor – Allows you to monitor system activity and view
the real-time results in graphs or reports. You can also view logged
data from Performance Logs and Alerts.
Logs and Alerts – Allows you to monitor system activity
and record the results to a log file. Additionally, you can set
alerts to notify you when a specified counter's value is above or
below a defined threshold. In addition to a binary log-file format,
the data can be stored in CSV or tab-separated format; hence can
be easily imported in spreadsheets or databases for further analysis
and reporting. You write the log data directly to an SQL database.
This option is typically only used when collecting data from a large
number of clients and servers.
tools use performance objects and performance counters. A performance
object is a collection of performance counters for a particular
part of the system. Examples of performance objects are Memory,
Processor, Physical Disk, Paging file,
and IP. A performance counter represents the performance
of a particular aspect of a performance object by either a numeric
or a % value. By default, System Monitor uses the following objects
Processor / % Processor Time – When this
counter’s value exceeds 85% continuously, it may indicate
you need to upgrade the processor.
• Memory / Pages/sec - When this counter’s
value exceeds 20 continuously, it may indicate you need to add additional
• PhysicalDisk / Avg. Disk Queue Length
- When this counter’s value exceeds the number of spindles
plus 2 continuously, it may indicate you need to add additional
RAM. Disk queue length refers to the number of read and
write requests waiting in the disk’s queue.
a more complete list of performance objects available in Windows
XP click here and for acceptable values of additional counters click
here. When you add a counter in System Monitor or Performance
Logs and Alerts, you can click the Explain button
for an explanation.
of displaying the counter values in a real-time graph, Performance
Logs and Alerts writes the information to log files on disk.
You can configure counter logs, which record data at a
specified interval, or trace logs, which record system
application events when a specific event occurs such as a disk activity.
You will need a parsing tool to interpret trace logs. Trace logs
are useful mostly to developers.
Performance Logs and Alerts allows you to set Alerts
on counters. Setting alerts allows you to start a program, send
a message, start a log, or write an entry to the Application
log when a counter’s value exceeds or drops below a specified
XP includes performance counters for monitoring performance of physical
disks and logical volumes. Depending on the exact results of the
System Monitor or Performance Logs and Alerts,
all you may need to do to increase disk performance is defragment
it. When you save a file to a disk that has been used for some time,
it is often not stored as a single contiguous block of data. Instead,
it is spread across the disk in small pieces starting with the first
available piece of free space – a piece of free space that
became available when a file was deleted. This slows down both disk
write and read times because the disk heads have to move back and
reorder the files and folders in a contiguous block of data on disk,
you can defragment its volumes by using the graphical utility Disk
Defragmenter or the command-line utility Defrag.exe.
The latter is suitable for scheduling and scripting. Defragmenting
the disk completely requires the volume to have at least 15 percent
free space to sort file fragments. You can start the Disk Defragmenter
by clicking the Defragment Now button on the Tools
tab of a volume’s Properties. Follow the links below
for more information about the Disk Defragmenter and defrag.exe.
Defragmenter Limitations in Windows XP
of the New Command Line Defrag.exe Included with Windows XP
can schedule maintenance tasks by using the Scheduled Tasks
feature in Windows XP, which you can access from the control panel.
It allows you to run a program, script, batch file, or a document
at a predefined date and time. New tasks are added by using the
Schedule Task wizard. You can schedule a task to run daily,
weekly, monthly, at system startup, at logon, or one time only.
After setting a date and time, you will need to provide a username
and password for the task. The task will run as if that user started
it, hence will have that user’s permissions and rights.
you add a task by using the wizard, it will be listed in Scheduled
Tasks in the control panel. When you open the properties of
a task, you can change and configure additional settings such as:
- delete the task if it is not scheduled to run again.
- specify the maximum duration of the task.
- start the task only when the computer is idle for a specified
amount of time.
- stop or don’t start the task when the computer is running
the Visual Effects tab of the Performance Options
shown below (click the Settings button in the Performance
section of the Advanced tab of the System Properties)
you can improve overall performance for working in Windows. By default,
Windows automatically chooses the best settings for your computer.
Usually these settings are fine, but especially on older computers,
it may help to turn of some or all of the visual effects.
you can turn of some visual effects on the Appearance tab
of the Display Properties, which can also help to improve