Posted by: kurtsh | September 5, 2007

INFO: Things I’ve done to improve Windows Vista’s performance

Josh Phillips from Windows Connected wrote a rather scathing article about some guy’s supposed 10 tips on "how to improve Windows Vista performance", and I have to agree with his assessment of the list:  The article he refers to contains some bad advice.  It seems to be written pretty cavalierly.  I think it was written just to "get impressions & hits" for the dude’s Google ads, so big ups to Josh for that catch.

(Especially because this guy recommends some pretty bad actions like turning off UAC, disabling RDC, and shutting down assorted system services.  I sincerely hope people don’t take this advice too seriously.)

Here’s a few things that I’ve done to ‘optimize’ the performance of my personal laptop.

1) Change the scope of the Windows Search Index.
I highly disagree with the sentiment of "disabling the indexing service":  This is a very bad idea, especially if you have Outlook because there’s really no better indexing engine on Windows Vista than Windows Vista’s search and you’re fooling yourself if you think a 3rd party engine’s gonna do a better job – particularly for .OST/.PST content.

That being said, I don’t think you need to index EVERY FILE on the system.  The default indexes a person’s entire profile I think.  Personally, the only thing I really need indexed is my profile’s email, a single specific documents folder – not "My Documents" or "My Desktop", and a folder dedicated to Foldershare replication. 

So one of my favorite recommendations is to adjust the target file folders & Outlook email folders that you want to index. Go to Control Panel –> Indexing Options –> Modify, and make some changes to your indexing rules so that every little change you make to your profile doesn’t result in unnecessary background indexing.  This greatly reduces the indexing "chatter" on your system while still maximizing your ability to search.

2) Update eTrust and Set ‘exception’ directories.
Mark Russonivich found that there’s a patched version of eTrust that fixes some problems associated with using eTrust on Windows Vista… yet, I had a devil of a time figuring out where to get a copy of it.  The version on our extranet web site still has the old 7.1.192 InoRT.EXE executable, as does the install location from our IT’s antivirus webpage.   (For those Microsoft FTEs that are reading this, I found the updated version at \cheywest2eTrustAntiviruscorpClient7.17.1.win32bit)

As you can see in the snapshot below, I inspected the .MSI package for the updated 7.1.501 InoRT.EXE file:

clip_image002

I’m also seeing that eTrust is pretty chatty under Windows Vista when it comes to CPU usage & drive I/O.  It seems to always be chewing up 10% of the CPU for virtually every program run, so why have it inspect programs that you know are trustworthy?  You can set up to 30 directory exceptions and 30 .EXE process exceptions so why not take advantage of them?  I’ll leave that up to you to responsibly decide, but I can tell you that disk access & and CPU utilization drops like a rock once you have eTrust configured for the applications you most often access and know aren’t virus prone.

A NOTE ON EXCLUDING SQL 2005
The one process that you definitely need to set up an exclusion for, BTW, is SQL 2005 if you have it loaded for the Enterprise Roadmap or other processes.   Excluding SQL 2005 executable from eTrust scanning is a recommended configuration from Microsoft’s IT organization.

3) Use a high performance ReadyBoost drive.
Claim:  ReadyBoost does little for you if you have lots of memory.”

I wholeheartedly disagree – especially for laptop hard drive users.  While I agree that installing more RAM is a better solution than ReadyBoost, it seems very en vogue these days for supposed IT know-it-alls to claim that "ReadyBoost has no noticeable effect", even though a simple test will confirm that it does in virtually every situation in at least some fashion – usually boot time.

RAM-based cache performance is better only if the OS or application files being read have already been read and cached in memory.  File caches don’t mysteriously get populated in volatile memory – pre-cached or not, they have to be gradually rebuilt in memory because they’re not static unlike the ReadyBoost cache which is static. 

Meanwhile, high performance flash-based seeks are much faster than disk for small random I/O.  Don’t believe it?  Simply run your own performance comparisons between your HD & Flash using HDTach.

clip_image003

If your flash performance is mediocre, it’s probably because you need to buy higher quality, faster flash memory.  The most obvious performance difference kicks in when you’re booting up your system:  Notice how little the hard drive is used when you have a ReadyBoost cache enabled and how quickly the system comes up – that’s because it’s reading off the high speed ReadyBoost flash drive instead of doing seeks against the physical disc.  The other thing is that the hard drive bus is made available for other reads/writes while it’s reading off the ReadyBoost cache so it’s free to make parallel reads of volatile, non-cached content (like the Registry) against the disk that aren’t stored on the ReadyBoost cache.

NOTEBOOK USERS TAKE HEED
…not to mention, ReadyBoost can extend battery life when you’re on the road since it’s using doing flash memory I/O and not using the power-hungry hard drive to access files.  I personally install a SDflash card in my machine’s SD slot, configure it as a ReadyBoost cache and leave it there… forever.  Information on proper ReadyBoost usage & information is available at: http://blogs.msdn.com/tomarcher/archive/2006/06/02/615199.aspx

4) Defrag the drive, clear out temp files, & keep a decent amount of drive space free.
This is a regular Windows Version.Any recommendation:  This may be is obvious but defragging the hard drive using Diskeeper or Perfect Disk goes a long way to making everything snappier. 

Clearing out all the temp files & Internet cache to free up as much space as possible makes both reads & writes faster overall since it can eliminates seeks for writes on the hard drive for large files which slows everything down.  Use CCLEANER.EXE to regularly clear out your machine of miscellaneous temp files, and if you’re okay with slowing down your boot time a little, CCLEANER.EXE allows you to configure Windows to automatically clear out the machine upon every boot.  Use Spacemonger to identify & clear out large files that you don’t need.

5) Nuke unnecessary processes you don’t need from autoloading
This is a regular Windows Version.Any recommendation:  Use SysInternal’s AUTORUN.EXE to examine everything your machine is loading up and decide whether you really need it or not.  I think you’ll be REALLLLLLY surprised at how much is being autoloaded on your machine because AUTORUN does a phenomenal job of summarizing everything being executed at boot.  It’s slowing your boot up time down and it’s consuming CPU/Memory on your system so be judicious.

SIDEBAR USERS… HERE COMES THE COLD WATER
Annnnnd that includes all the gadgets you have in your Windows Vista Sidebar.  No big surprise, if you do a Process Explorer examination of Sidebar, you’ll notice that it can consistently eat up quite of a bit of CPU, up to 15% of all processing time assuming you have the traditional techie culprits running like “Network Monitor”, “Multimeter”, “Top Processes”, “Drive Info”, etc.  Ironically, I’ve found that “Top Processes” can often make the Sidebar application one of the “top processes” because if it’s set to refresh every second, it averages 5% of the system’s CPU power.

I’m not saying you should ‘nuke’ the Sidebar… lord knows, I have 9 gadgets installed right now in my Sidebar.  I am saying that you should consider which gadgets are CPU hogs and which ones can be tuned "down".  I tune down "Top Processes" to refreshing only once every 5 seconds, for example.


Categories