Windows 7 : Performance Tuning Your System - Maximizing CPU and Memory Resources

9/22/2012 2:22:37 AM
Your operating system (Windows 7) takes care of managing the CPU and memory for you. Even so, you can do some things to improve performance as it relates to your system's memory and CPU. The following sections offer some tips.

1. Conserving memory

One of the best things you can do to improve your computer's performance is ensure that it has plenty of memory. Initially, that means making sure the computer has a sufficient amount of physical memory installed. You should consider 1 GB a minimum, although Windows can run with less. If you use lots or programs at once, or use applications that require a lot of memory, consider having at least 2 GB of RAM in the computer, if not 4 GB.

Having a lot of memory is part of the solution, but managing the memory you do have is equally important. You can optimize your computer's RAM in these ways:

  • Reduce the number of programs you run concurrently: If you aren't using a program, close it to reclaim the memory it is using. You can always open it again later if you need it.

  • Minimize the number of programs you install on your computer: Do you really need a program on the tray that tells you what the weather is like outside? Do you really need a gadget on the desktop that shows a tiny slide show? All of the little add-on programs you install and run on your computer, even if they are running in the background, consume resources. The fewer, the better.

Reducing the number of programs running at one time not only improves performance from a memory perspective, but it also reduces the load on the CPU, making processing cycles available to those programs that do need to be running.

2. Managing virtual memory

In the very early days of DOS, a computer could run only one program at a time. Programs had to be written to fit in the available (and minimal) memory in the computer. In today's Windows OS, you can run almost as many programs as you want at one time. The capability to run multiple programs is due to the design of today's CPUs and of the OS itself. The capability to manage memory effectively for all of those programs is due in part to the use of virtual memory.

Modern computers can use two types of memory. The first type is physical memory (RAM), which consists of physical memory chips on memory modules (small circuit boards) that plug into the computer's motherboard.

The amount of RAM shown on the General tab of the System Properties dialog box is the amount of physical RAM in your system.

The second type of memory is virtual memory, and Windows 7 uses the computer's hard drive for that, using a file on the drive as a place to store data as an alternative to physical memory. The area on the hard drive that's used as virtual memory is called a paging file, because data is swapped back and forth between physical and virtual memory in small chunks called pages. When you fill up both your physical memory and virtual memory, the computer doesn't just stop and display an error. Rather, it displays a message in advance, warning that the computer is running low on virtual memory and suggesting that you make room for more.

Because the virtual memory is just a paging file on the hard drive, you can easily add more just by increasing the size of the paging file. You don't have to buy or install anything. This is unlike physical memory, in that the only way to increase physical memory is to buy and install more RAM.

To manage virtual memory in Windows 7, open the System applet from the Control Panel and click the Change Settings link. In the resulting System Properties dialog box, click the Advanced tab and click the Settings button in the Performance group. Then, click the Advanced tab in the resulting Performance Options dialog box (Figure 1). The Virtual Memory area on this dialog box shows the total paging file size for all drives. To adjust the settings, click the Change button to open the Virtual Memory dialog box shown in Figure 2.

Figure 1. The Advanced tab of the Performance Options dialog box.

Figure 2. The Virtual Memory dialog box.

In most cases, it makes sense to select the top check box Automatically Manage Paging File Size for All Drives to allow Windows to adjust the page file.

If you don't want Windows to manage the page file for you, your main options in the Paging File Size for Each Drive area of the Virtual Memory dialog box are as follows:

  • Custom Size: You choose where you want to put your paging file(s), their initial size, and maximum size.

  • System Managed Size: Tells Windows to create and size the paging file automatically for you.

  • No Paging File: Eliminates the paging file from a drive. Not recommended unless you're moving the paging file from one drive to another.

If you have multiple hard drives, you can get the best performance by using the least busy drive for virtual memory. For example, if you have a D: drive on which you store documents, it may be better to use that, rather than the C: drive, because the C: drive is pretty busy with Windows and your installed programs.

If you have multiple physical drives, you can get a little performance boost by splitting the paging file across the two drives. A single drive that's partitioned into two or more partitions, to look like multiple drives, doesn't count. You don't want to divide the paging file across multiple partitions on a single drive, because that will have the reverse effect of slowing things down.

If you do opt for a custom size, you can work with any one hard drive at a time. The drives are listed by letter and label at the top of the dialog box. In the example shown, all of the partitions actually reside on a single drive.

If you don't select the check box at the top of the Virtual Memory dialog box, you'll need to set the paging file sizes individually. For example, to move the paging from drive C: to D:, first click Drive C: at the top of the dialog box, choose No Paging File, and then click the Set button. Then, click Drive D:, choose Custom Size, set your sizes, and click Set.

The Total Paging File Size for All Drives section at the bottom of the dialog box shows the minimum allowable size, a recommended size, and the currently allocated size (the last measurement being the sum of all the Initial Size settings). The recommended size is usually about 1.5 times the amount of physical memory. The idea is to prevent you from loading up way more stuff than you have physical RAM to handle, which would definitely make your computer run more slowly.

If your computer keeps showing messages about running out of virtual memory, you'll definitely want to increase the initial and maximum size of the paging file. A gigabyte (1,024 MB) is a nice round number. But if the computer runs slowly after you increase the amount of virtual memory, the best solution would be to add more physical RAM.

If you do change the Virtual Memory settings and click OK, you'll be asked if you want to restart your computer. If you have programs or documents open, you can choose No and close everything first. But because the paging file is only created when you first start your computer, you'll eventually need to restart the computer to take advantage of your new settings.

3. Priorities, foreground, and background

Your computer's CPU and RAM are very busy places, with potentially thousands of tasks occurring at one time. To try to optimize performance, Windows prioritizes those tasks. Your application programs typically run in the foreground, which means that when you click an item with your mouse or do something at the keyboard, fulfilling that request gets top priority in terms of being sent to the CPU for execution.

Most processes, by comparison, run in the background. This means that they get a lower priority and have to momentarily step aside when you tell Windows or an application to do something. For example, printing a document is treated as a low-priority background process, and for a good reason. All printers are basically slow, mechanical devices anyway. So, by making printing a low-priority process, you can continue to use your computer at near normal speeds while the printer is slowly churning out its printed pages.

4. Controlling CPU priorities

By default, programs that you're using are given a higher priority than background processes. It's possible to reverse that by giving processes a higher priority than applications. If you have an intensive background task running and want to give it higher priority, you can reverse the order. Or, if you want to make sure that your applications are getting top priority, as they should be, follow these steps:

  1. Right-click your Computer icon from the Start menu, and choose Properties to open the System window for your system.

    The System icon in Control Panel also opens the System window. If Control Panel opens in Category view, click System and Security and click the System link.

  2. Click the Advanced System Settings link on the left side of the screen to bring up the System Properties dialog box. Click the Advanced tab in the System Properties dialog box.

  3. Under the Performance heading, click the Settings button. The Performance Options dialog box opens.

  4. In the Performance Options dialog box, click the Advanced tab shown previously in Figure 49-4.

The Processor Scheduling options determine whether your actions, or processes, get top priority when vying for CPU resources to do their jobs. If you choose Background Services, your computer may not be as responsive as you'd like, but background tasks will get higher priority. So for example, if you are running a scan of your system in the background and want it to finish faster, select Background Services in the Performance Options dialog box and click OK.


Choosing Background Services won't make your printer print any faster. There's really nothing you can do to speed printing, other than use the printer's Draft mode (if it has one). But even so, printers are just inherently slow mechanical devices.

  •  Windows XP : Verifying Digitally Signed Files, Reviewing Event Viewer Logs, Setting Up a 10-Step Maintenance Schedule
  •  Windows XP : Checking for Updates and Security Patches
  •  Dream Machine 2012 - The Future Is Now (Part 2)
  •  Dream Machine 2012 - The Future Is Now (Part 4)
  •  Dream Machine 2012 - The Future Is Now (Part 3)
  •  Dream Machine 2012 - The Future Is Now (Part 1)
  •  How To Install FreeDOS (Part 1)
  •  How To Install FreeDOS (Part 2)
  •  Mac – Personal Computing
  •  Ipad : Wireless Sync Using the MobileMe Service (part 1) - Sign up for the MobileMe Service, Set Up MobileMe on Your Mac
  •  Windows Vista : Scripting and Automation - Object References (part 4) - Decipher Script Errors
  •  Windows Vista : Scripting and Automation - Object References (part 3) - How to Manage Windows Services, How to Write CGI Scripts for Web Servers
  •  Windows Vista : Scripting and Automation - Object References (part 2) - How to Use the Network, How to Control Internet Explorer, How to Use Command-Line Parameters
  •  Windows Vista : Scripting and Automation - Object References (part 1) - How to Run Applications, How to Access the, How to Manipulate Files Registry
  •  Windows Vista : Build a VBScript Script
  •  5 New Lenovo Laptops Using Ivy Bridge Chip
  •  Asus K45VM – Affordable Good-Performance Laptop
  •   Installing or Upgrading to Windows 7 : Installing Windows 7 on a Mac
  •   Installing or Upgrading to Windows 7 : Performing a Clean Install with an Upgrade Version of Windows 7, Delaying Product Activation
  •   Installing or Upgrading to Windows 7 : Upgrading from One Windows 7 Version to Another with Windows Anytime
    Top 10
    Windows Vista : Installing and Running Applications - Launching Applications
    Windows Vista : Installing and Running Applications - Applications and the Registry, Understanding Application Compatibility
    Windows Vista : Installing and Running Applications - Practicing Safe Setups
    Windows Server 2003 : Domain Name System - Command-Line Utilities
    Microsoft .NET : Design Principles and Patterns - From Principles to Patterns (part 2)
    Microsoft .NET : Design Principles and Patterns - From Principles to Patterns (part 1)
    Brother MFC-J4510DW - An Innovative All-In-One A3 Printer
    Computer Planet I7 Extreme Gaming PC
    All We Need To Know About Green Computing (Part 4)
    All We Need To Know About Green Computing (Part 3)
    Most View
    Tips from the Help Desk
    iPhone Application Developmen : Using the View-Based Application Template (part 3)
    Happy iMas (Part 1)
    15 Practical Tips For Building A Better PC (Part 2)
    Tablet For Home – November 2012
    Play It Smart (Part 1) - A.C. Ryan Playon! HD2
    iCloud – Have You Ever Known?
    HP Unveils Glass Design HP ENVY Spectre
    How To Buy…SSD Drives (Part 3)
    Using Text in XAML
    Open Pandora - Open source gaming handled
    What We Love Most This November?
    Windows Phone 7 Development : Building a Phone Client to Access a Cloud Service (part 1) - Building the User Interface
    Disk Utility : Don't Lose the Plot
    SQL Server 2008 : Using @@IDENTITY and NEWID Functions in DML Statements
    Working with Access and Connectivity Policies in Vista
    iPhone 3D Programming : Adding Depth and Realism - Surface Normals (part 2)
    Create Your Own E-Books (Part 4) - The EPUB Format & Introducing Sigil
    Thermaltake Water2.0 Pro - Cool, But Loud