Vista

Easy Tweaks for Windows Desktops to get some extra performance

Thought I would add my small share of some simple Windows tweaks that I run to get a bit of extra performance out of my computer with everyone else.  There isn’t anything here that should destroy your system, but with anything please keep in mind what you are doing.

Enable Multi-Core Booting (XP/Vista/7)

With dual-core desktops almost the norm now with any PC you get these days, I have no idea why Window’s cannot detect and enable this during install.  But turning it on after your installation is still quite simple.  You will also need administrator access to run this command.

  1. Click on the “Start” icon and then “Run As…”  (or just press Windows Key + R)
    msconfig
    Run command "msconfig"

    Run command "msconfig"

    Then press enter.

  2. From here you can change all your startup services for your Windows installation.
    msconfig default configuration screen

    msconfig default configuration screen

  3. If you want to turn off certain boot specific services you can do that, but for this we will just look at the “Boot” tab.  Press “Advanced Options“.
    msconfig > boot > "advanced options"

    msconfig > boot > "advanced options"

  4. Tick the “Number of processors” box and enable the maximum amount of processors you have to enable during boot time.
    msconfig BOOT advanced options

    msconfig BOOT advanced options

    As indicated below I have enabled dual-core booting for my dual core desktop.

    msconfig BOOT Advanced Options

    msconfig BOOT Advanced Options

    There is also an area for the “Maximum memory” as well.  I have tried it before on my desktop but it seemed to reduce the amount of maximum memory I have.  Putting 4GB in then rebooting showed in my computer properties that I only have 3.68GB or so.  Leaving it off shows the full 4GB so you can try enabling it if you so desire, but off works fine for me.

  5. To finish press OK twice and you will get a message warning about needing to reboot to apply the changes.  Press okay to reboot and the next boot your computer will boot up with multiple cores and hopefully that much faster.

Reclaim some disk space back from Windows.  (Vista/7)

This next one is an option that is mixed if you want to leave on or off.  It involves the hibernate disk file.  By default Vista/7 have this enabled.  As it is a hibernation file, it is exactly the size of memory that you have installed in your computer.  8GB of memory means a 8GB chunk of space on the hard disk.  If you are trying to reduce the installation footprint or have a small (SSD) drive to begin with this could be a lot of valuable space.  Or especially a desktop where usually the computer in question might be in sleep mode or off.  Disabling this is quite simple, and you get the amount of memory reclaimed from your harddisk instantaneously.  No reboot needed either!

  1. Open a command prompt as an “Administrator” level user and run the command:
    powercfg -h off
    Administrator Elevated: Turn off Hibernation

    Administrator Elevated: Turn off Hibernation

  2. That’s it you’re done. You can run a quick
    dir /ah

    on the root OS directory to see that the hiberfil.sys has been removed to confirm.  You can see this in my before and after screenshots.

    Hibernation File is on

    Hibernation File is on (before)

    Hibernation file off (after)

    Hibernation file off (after)

    I’ve just saved myself 6GB+ of diskspace on function that I won’t use on my desktop.  With RAM prices becoming ridiculously cheap, and having 4GB or more in a system isn’t that uncommon anymore.  Why anyone would want to try and save a system state of GB of data is beyond me.  It will probably take longer for the system to come out of hibernation than it would with a fresh startup.  Batteries are getting better as well, so unless you’re crossing the ocean, leaving the system in sleep mode should be sufficient.  You’ll have almost an instant on, aside from the larger drain on the battery rather than having it in hibernate mode.

Remove and disable the System Restore Points  (Vista/7)

Note: The previous two tweaks are fairly simple and as long as you don’t turn off all of your services in msconfig, the system usable.  This next one does have possible ramifications down the road should you need to restore the system from a previous state.  I don’t install a lot of software so I usually turn this off to help with installations, updates, and such.

  1. Click on the Windows “Start” icon > Computer (right click) > Properties
    Computer Properties

    Computer Properties

  2. Click on Advance system settings > System Protection > Click Configure
    System Properties > System Protection

    System Properties > System Protection

  3. Change the Restore Settings to Turn off system protection.  Also Delete any current restore points.  Note: After doing this, any ability to revert to the “Last known state” function will cease to work.  You will gain a performance boot when installing updates and other programs though as its not having to make several copies of itself when installing.
    Disable the system restore

    Disable the system restore

    Press okay to complete.

    System Protection Warning

    System Protection Warning

    Press yes to continue and you will come back to the properties screen.  You will now see that system protection is off.  Press OK again one more time to leave the system properties.

    System Protection Disabled

    System Protection Disabled

Modifying the swap disk file

If you have a lot of RAM in your machine you might want to try disabling the page swap file on your PC as well.  That way Windows has no ability to try and make unnecessary swaps to the disk.  At 8GB of RAM you can pretty much have almost anything under the sun open for days and it will be alright.  4GB is also doable, but I would recommend not to open as many applications.  Again mileage will vary depending on what you run.  I would recommend that you run “taskmgr” and look at the running processes (as administrator) during normal use to see how much memory each application is using during normal usage. At 2GB or less, it is probably best to create a fixed file size of a 1:1 ratio.  Not as good as no swap file, but at least the system will not be trying to resize the swap file while at the same time trying to write data to it.  (This is the default setting for Windows.)

  1. Click on the Windows “Start” icon > Computer (right click) > Properties
    Computer Properties

    Computer Properties

  2. Click on the Advanced tab > press Settings…
    System Properties > Advanced

    System Properties > Advanced

  3. In the Performance Options window goto the Advanced tab and press Change…
    Performance Options > Advanced

    Performance Options > Advanced

  4. A new window titled Virtual Memory will appear.  Deselect the “Automatically manage paging file size for all drives” then proceed to set a custom size.  For 8GB+, “No paging file” should work. For 4GB, it’s a toss up.  I’ve done fine with “No paging file”, if your system starts crashing applications unexpectedly check the Task Manager and if you need more memory set a 4096MB Initial and Maximum size.  This effectively fixes the swap file size and the system to make the hard disk delete and recreate swap files when it needs to grow them.  For <2GB, I highly recommend setting a custom size of 2048MB.  If you don’t you’ll probably start seeing a lot of random applications frequently after using your computer for some time.
    Virtual Memory

    Virtual Memory

  5. Press Set to apply the settings, and then OK to exit out.  Press OK again two more times to leave the System Properties.  At this point you will be reminded that your changes will not take effect until you reboot your system.  Reboot the system and the new virtual memory settings will take effect.

These are just some of the free simple solutions that I apply to my computer to keep it zippy.  Hope that it helps you.  If I find anything else I’ll update this again.

How to apply Group Policy Drive mappings in Vista without disabling the UAC

I finally got around to trying to figure out what was a better way of implementing drive mappings without having to go around to each computer to disable the UAC in Vista. For most people using the computer in the office, this is a good thing as it usually helps prevent unwanted things from running and in the long run saving me time from having to do maintenance on it. When I last looked at trying to get Vista to run my GPO scripts that mounted the drives in my UNC, I had to disable the UAC before it would run them. Apparently this is because the scripts run at a higher privilege level during the login process, and because UAC is running at that time the scripts don’t get executed. Because of this it is necessary to run the scripts after the login process. The techcenter post from Microsoft is a bit cryptic at best and doesn’t cover mixed environments where you have XP and Vista machines running. So the best thing to do is to add in this script that I found on the Internet that is a modified version of Microsoft’s launchapp.wsf. Place this in your GPO’s scripts logon area. And then under the script path, enter in the location of your working XP script one at a time. Essentially this wsf script becomes a wrapper for your vbs code that will determine if the machine you are logging on to is a XP or Vista machine, and then execute the drive mapping script code appropriately. Below you can find the code to implement.

Note: Remember to be patient as when you implement the new GPOs it might take time to replicate over your system. Other things might affect the update such as DFS, network lag, etc. You can force the PC to update their GPO by running the command:


gpupdate /force

Script wrapper code: