Sweat Your Assets - Windows PC Performance Troubleshooting and Optimisation

Nov 14
15:16

2008

Alan M Johnson

Alan M Johnson

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

Our customers and prospective customers frequently come to us and ask that we suggest either upgrades or whole new PC’s that will solve their current non-performance nightmare with an aging PC. It’s quite amazing how sometimes as the conversation and understanding of requirements and problems experienced proceeds we discover that actually the PC they already have may just still have a few laps around the circuit left in its tired chassis.

mediaimage

Times are Uncertain – do you really need that upgrade or new PC?

Our customers and prospective customers frequently come to us and ask that we suggest either upgrades or whole new PC’s that will solve their current non-performance nightmare with an aging PC.  It’s quite amazing how sometimes as the conversation and understanding of requirements and problems experienced proceeds we discover that actually the PC they already have may just still have a few laps around the circuit left in its tired chassis.  In this article we will explain how you can diagnose your performance woes,Sweat Your Assets - Windows PC Performance Troubleshooting and Optimisation Articles streamline and tune them up.  You’d be surprised just how much more you can get out of what you have.

Tip!  Before making any serious system changes such as some of these are its wise to take a backup or restore point of your system before each change.  Then should you subsequently find something is ‘broken’ you can restore back to a previous working configuration.

Analyse the problem before implementing the solution...

Use monitoring tools regularly - get in the habit of watching Task Manager and lookout for tasks and processes that are hogging your system memory or CPU.  Task manager displays both in the process view as you can see below, you can also sort by clicking on the column headings.  Even if you only use the Internet and eMail both these applications are renowned for memory leaks and processor bound loops (see an explanation of these problems in the next section).

Monitor Free Disk Space - ensure you have at least 20% disk space, preferably 30% or more should be free.  If you don’t the file system struggles to operate as it needs some space in order to allocate and deallocate files the operating system and applications require while in use.  Imagine walking into a hall full of boxes and you need to order them all by colour, in a room 70% full you’ve got 30% free space to temporarily put things in while you move other stuff around, in a room 99% full you may have no room at all to use as a temporary store.  Use our earlier tip for reducing disk space consumption by eliminating unused installed programs or disk space is cheap these days with 1TB at under £100, upgrade your disk.

New Software invariably uses more Memory - finally, if you need an upgrade the one that makes the biggest difference in 80% of cases is simply adding more memory.  RAM is now fairly cheap and you should consider 2GB to be the minimum of practical RAM to have installed.  Every time you upgrade it try to double it or you’re unlikely to really notice the difference.  On 32-bit systems there is little advantage to having more than 3GB of memory but usually it makes sense to upgrade to 4GB due to the size of memory kits available.  If you need more than 4GB you will also need to upgrade to a 64-bit operating system.  You can see your memory utilisation by consulting the Task Manager, ctrl-alt-del presents you an option to start the task manager.

In a typical example 2GB of physical memory is installed, of which roughly 1GB is available, although windows is misleading us a bit here as it will always make sure some memory remains available or it will simply cease to function.  So don’t look for 0 available free memory as an indicator that you need more, it never will be allowed to reach 0 as windows will swap a process out into the page file to free more memory up.  There is 1.11GB of memory currently consumed (in the page file ‘PF Usage’, Commit Charge - Total).  The page file is actually virtual memory on disk as tasks become active and inactive they may be swapped into and out of memory into the page file, hence that pause sometimes when you switch to another task as the disk is accessed to bring it back out of the page file.  Activity in the page file and virtual memory is complex and I won’t go into any more of that here as it doesn’t help you with performance issues.  The key point to remember is if Windows is swapping memory out to the page file on disk then your system will be going a lot slower as you can be sure however fast your disk is it’s an awful lot slower than physical memory.

What we care most about is activity in real physical memory and the point at which we might run out of it and the page file becomes more active hence slowing down the system.  Crucially the Commit Charge Peak should balance the physical memory available otherwise it means an awful lot of page file swapping is going on (known as ‘Page Faults’).  If it was the yellow line in Page File Usage history would be bouncing around, or worse just steadily increasing.   

Adjust Total Page File size – following on from the point above if your system page file size is too small your system will slow down or even fail to start tasks (usually with a system message to tell you the computer is out of memory).  You can check this by looking at the Page File Total versus Peak size.  If they are close to each other then you need to increase your page file size.  With most windows default configurations this will happen automatically.

The exotic world of Deadlocks, Infinite Loops and Cartesian products – are all programming jargon that essentially describe bugs (though not always).  The programmer of an application or product you’re using (and that includes the ones you take for granted like Windows and Device drivers) has likely made an error in designing or implementing the code such that logically it can never get past a certain point in its execution.  The consequence of this poorly designed code can be that the processor cycles used in this ‘loop’ consume all the available resources of your PC (check your task manager, which process is using 99-100% of the processor!? Or just ‘not responding’).  You will notice this as your machine will suddenly lock-up, go dead slow, or the application in question will just hang.  Thankfully with multi-core PC’s hanging is less of a problem as the other free cores can be used to KILL the task off and bring your PC back to life...

Run concurrently as few tasks as you need – each time you open up a task remember each one is using up a little more memory.  If your memory or processing power is limited try to keep open only what you regularly need and close what you don’t it doesn’t take so long to reopen, and if it does it probably means you have too many open already!  Also bear in mind just because you can’t see an application doesn’t mean it’s not using up any processing cycles, it will be.  All applications process events which might be system activity, emails being sent/received, diary alarms going off, keyboard or mouse movements, activity from external devices like printers and USB drives.  They also monitor activity in the background even when you aren’t doing anything with them.  This consumes more of those valuable clock cycles...

Typical solutions to try or consider

De-install and delete any unused software – take a look at your control panel Add/Remove Software icon and go through the list of installed applications line by line.  If you don’t need or use it remove it.  It may be taking up valuable space or cycles on your machine.

Disable Windows Defender – For Vista users there are a number of new Windows ‘features’ that if you are an experienced PC User who understands how to roam the internet or email and download files safely you do not need. Windows Defender and Firewall are such services, if you have a third party or router firewall you more than likely just don’t need this services enabled.  To disable windows defender, go to control panel->administrative tools -> services -> windows defender and stop the service, setting it to disabled or manual so that it does not restart on reboot.

Disable UAC (User Access Control) – To experienced Windows XP users this feature has won a thousand polls as the most annoying new feature. Whenever you execute anything which affects system configuration or the filesystem (which is just about everything you might want to do that’s useful!), a modal popup asks whether you want the operation to proceed.  Again use your judgement on your experience and competency with Windows, inexperienced users should probably leave it as is otherwise you will want to disable it.  To disable user access control, go to control panel->user account->turn user account control off.  You can also disable it using the msconfig.exe utility on the Tools tab, or directly in the registry.

Optmise the Windows GUI - Windows Vista Premium and above has by default the Aero user interface enabled, this uses the 3D capabilities of your graphics card and will use up some precious CPU cycles.  Unless you love the new look interface feel free to reduce load on your processor and memory and turn it off.  To optimise system configuration for maximum performance, go to control panel->performance information and tools-> advanced tools-> adjust the appearance and performance of windows-> Select Adjust for best performance radio button and hit Apply.

Remove Startup programs – A lot of applications helpfully install themselves on your machine to startup and drop into the System Tools tray as your machine boots or, or as you log in depending on how they are configured.  Almost none of these programs will actually be required and they are only installed this way to save on the time taken for their first execution (as they are already in memory, in theory).  Our recommendations are you remove all programs to reduce startup time, reduce memory overhead and to improve overall system performance. You can change startup programs using msconfig.exe or directly in the registry with the regedit command (alter the registry with caution!).  Our recommendation is that you use msconfig.exe (pictured below, Windows XP version) and scroll through the list of startup programs unchecking anything you know you don’t use or need to startup on boot/login.  In the registry find the startup programs under Computer-> HKEY_CURRENT_USER->Software-> Microsoft-> Windows-> CurrentVersion-> Run.  In Windows XP you can safely remove ALL startup programs without it being terminal, you need to be a bit more careful with Vista. 

AntiVirus (AV) - programs are notorious for reducing system performance and increasing hard disk load.  Take a long and careful look at the configuration of your AV product and turn off any scanning or intervention that is unnecessary, turning off any supplementary tools, and any duplication of tools such as double spam checking etc.  Typically you should treat AV as your second line of defence behind the firewall.  You are only really likely to get a virus from outside the secure zone that is ‘Your PC’, unless you’re in the habit of writing your own.  So a viral attack is only likely to come from a software download, a rogue floppy or CD install, or a malicious Browser add on from the Internet.  Some scare mongers have led us to believe that the viruses crawl down the wires and install themselves on your PC, they don’t, they only get installed from outside and only then if you allow it.

For this protection all you need virus scanned is inbound email, inbound software installs from removable media (CD, DVD, USB, eSATA, Firewire, Blu-Ray, Floppy etc.).  We recommend turning off automated and scheduled scans, these are real system hogs and should be totally unnecessary if all inbound scans are working as they should be.  Instead manually choose for yourself when you would like a total system scan just in case something was missed as it came in.  We like minimalist AV tools that just do the simple jobs well and no more.  A good AntiVirus should be like good children, nice to know you have it, but invisible and unobtrusive.

Disable unnecessary services - Your system might have a lot of services which you may not need. But identifying them may not be very easy.  Open up control panel-> administrative tools-> services and stop/disable services. Some of the services which should be disabled are Windows Search, Windows Defender, Windows Cardspace, and usually a number of third party tools such as HP print managers, Adobe tools, Real player, MSN, Google toolbar, Antivirus control panels etc.

Windows Search Indexing – A tricky one as it sometimes speeds things up, but at other times can slow things down.  In theory it only runs when your machine is idle, but we’ve found that is not always the case and it can also consume shared network bandwidth.  We suggest you disable Windows Search indexing as it may improve performance substantially, especially if you have a new system as it will expend a considerable amount of system resources building indexes. However, once the indexes are built it will reduce the time to find files with a file search (if you do that much?) considerably.  So, if this something you do a lot you should turn it off while you are using the PC then turn it on again when you’re done and just leave it running.  Windows Search will then just happily build indexes in the background while the PC is idle.  Eventually you will have a fully populated index and you can just leave it on so that the index is automatically maintained.

Defragment hard drive – perhaps one of the oldest tricks in the book.  As you install, deinstall, and move files around on your PC clusters of files and parts of files get distributed all over the disks surface.  Over time this gets worse and worse, more and more fragmented.  Every time you read a file of the disk the disk head has to reposition to pickup all these different fragments which slows down file access radically.  The ideal scenario is to have all files contiguous, no fragmentation, and have the most frequently used files around the centre of the disk to minimise average head movement time (seek time).  The defragmentation tool analyses and then defragments the disk for you and is available on the tools tab of the disk properties option (right click on your disk, select properties).  You need to defragment roughly every two to three months, more often if you install and reinstall a lot of programs and files.  It’s a good idea to run Error Check (also on the tools tab) and close all tasks and as many services as you can before defragmenting.  Files currently open or in use cannot be moved...

Check for BIOS updates – For an experienced overclocker BIOS updates are a no brainer as they usually fix performance holes or issues with the motherboard.  For most users we recommend if you have no known BIOS issues then do not update it.  Either way close all programs before flashing an update to the BIOS, should the BIOS flash fail, be interrupted, or get corrupted (and you would be surprised how easily this can happen!) then your PC will be dead and you will need a new BIOS chip.

Check for chipset and operating system updates – Often new drivers or windows updates can speed things up a little or a lot.  Windows Update is a blessing and a curse.  With Vista you are now able to do ALL updates with the Windows update tool, including many third party drivers.  Our usual recommendation is to leave it on Automatic, however, sometimes a new update can introduce instability or worse.  If this happens revert to the last Restore point.  If you are an experienced power user we recommend you manually run Windows Update and carefully select updates you know are comfortable with or know you need.

Easy performance boost - Vista's ReadyBoost feature allows you to plug in a USB flash drive or a flash memory card and use its available capacity to cache frequently used files, augmenting the system file cache in main memory.  Though slower than main memory Flash memory is an awful lot faster than the hard disk and will speed up general file access markedly.  Even quite large Flash drives are now very inexpensive.

Restart regularly – Even large Enterprises and Government datacentres have a regular restart regime to clear down processes that have been executing memory for some time and refresh the operating systems own memory and programming state.  Any problems with stale resources or processes is compounded by possible memory leaks and memory fragmentation occurring over time (which happens in the same way as disks can get fragmented).  If you find your PC is getting slower the longer its left on you probably have some runaway process or processes eating up memory or cycles and you can either kill the processes or restart the whole machine.  If you are monitoring your process and memory utilisation as we discussed earlier you will have noticed this happening.  If it’s a problem deep in Windows that’s causing a performance problem over time then it’s unlikely you will be able to diagnose it and only a restart will fix it.  Generally you should be looking to restart your PC at least once a week.  We restart non critical desktops and servers daily, our long term benchmark tests can run for up to a month non-stop without a restart.  In the latter case we use a stripped down Windows build that we have tested as stable for at least a month.  Remember Hibernate or Standy shutdowns are NOT a reboot, only Shutdown or Restart.  Preferably do a cold reboot by shutting down and switching off completely and leaving for 10 minutes before powering on.  This will also reinitialise your BIOS and all PC hardware.