There's website after website with tips and tricks about improving the performance of your PC. With UMPCs, handtops, palmtops, sub-PC's, microPCs, or whatever you want to call them, the need is even more apparent. After all, who wants to sit through a 2 minute shutdown or a 3 minute bootup when you only have two hours of battery life? There's a reason so many of us loathe actually rebooting and prefer instead to go into standby or hibernate. Here's a few tips I've gleaned from other websites, as well as my own experience. At last check, with the following my shutdown time (Start -> Run -> Shutdown to actual power off) is at 14 seconds. My boot up time (power switch to on position to prompt for my fingerprint or password) is at 28 seconds.
FYI: I'm using a Sony UX180P with an upgraded 60Gb hard drive (standard, not SSD/NAND).
1) Pagefile manipulation - One of the first things I do on most systems I own that have 512Mb of RAM or more is to completely remove the pagefile. On systems with 2Gb or more of RAM, it truly is not needed. In fact, this was a recent discussion on Slashdot link about this very subject. To disable your pagefile, right-click on My Computer, and choose Properties. Click the Advanced tab, then the Settings button in Performance. In the Performance Options window, click the Advanced tab. In the Virtual Memory section, click Change. Put a bullet in "No Paging File" and click Set. You will be prompted to reboot. After a reboot, you will notice that your the "C:pagefile.sys" no longer exists.
Some apps will complain about the lack of a paging file (swap file). Adobe Photoshop is one of them (of course, Photoshop complains if its installed on the same disk as your pagefile which happens on most systems, so there's no pleasing them). There are some alternate solutions, though. One is to put your pagefile onto a flash memory stick. Now you have to be careful here... if you do this, then eject or remove the stick, Windows will crash. In my case, I have a 4Gb memory stick in my UX. For the times that I actually need a pagefile (rare), I can simply create one on this memory stick. The added benefit is that while Windows needs to reboot after removing the pagefile, if you create one on the fly, Windows doesn't need to reboot to use one you just made. As long as you don't remove the memory card, you're fine. For this reason, I don't suggest using a USB memory stick. However, when I have a 4Gb memory stick, I don't have a problem putting a 1Gb pagefile on it and still leaving me 3Gb of storage space.
It should be noted that despite the potential issues of accidentally ejecting your memory stick while Windows is running and causing Windows to crash or possible data corruption due to the pagefile suddenly not being available, putting your pagefile on a memory stick/card has two significant advantages... The first is that your system can access memory stick data faster than a stock hard drive (in my UX's case, that's a 5400rpm drive). Second, moving it to a memory stick reduces hard drive access time as Windows won't be using the native hard drive for the pagefile. While these won't affect boot or shutdown time, they will be a small step towards "in use" system performance... and lots of small steps can lead to overall better performance.
2) Prefetch cache - for this, I defer to item #1 listed here: link
The catch, though, is to not only set the registry key to #2, but then to then also go into C:WindowsPrefetch and delete the contents. The next reboot will take an extra few seconds as the bootfiles are cached into a .pf file, but subsequent boots are a tad faster.
3) File & Print Sharing - for this one, I also defer to this article: link but to the final item. In my case, I access many, many network shares. However, I share absolutely zero folders on my UX. I also print to many network printers, but I don't have one directly connected and thus I don't have one to share. The article mentions only disabling it for the Local Area Connection. My UX has a LAN connection as well as a BT one, a Wireless one, and multiple VPN connections. I've disabled File & Print Sharing for each connection. This improves boot time a bit, but also doesn't prohibit me from accessing other's shared or networked folders or printers. I just have to remember that if I do want to share something, I must enable this first.
Additionally, Windows will attempt to determine the connectivity state of each interface it finds upon startup, and will also look for an IP address for each interface it determines to be "connected". This can add to boot up time lag as it times out on unused interfaces. And in Sony's case, its a tad worse as they have a weird habit of enabling the firewire interface for networking, then bridging it to the wired network connection, all as a stock configuration. In the case of my UX, aside from the VPN connections, I have a wired LAN interface, wireless interface, BT PAN interface, and Firewire interface. To help speed up boot times, disable (right-click and choose disable) all devices you don't use. In my case, I do bluetooth hotsyncing and data tethering to my Treo, but no BT personal area networking. I also don't use the firewire interface for networking. Both of these are disabled on my system. Most recently, I've gone wireless everywhere... work, home, even in the car with my Kyocera EV1, so I've disabled my wired LAN connection as well. For the few times I need to do a large file transfer, its easy enough to connect a cable and enable the device. But since this is a rarety for me these days, I simply leave it deleted and enjoy the benefits of a faster boot time.
On a security note, if you connect to public hotspots and if you don't run a firewall, disabling File & Printer Sharing is a good security move as it prevents access to the hidden C$ share on all Windows systems. See link (Did you know that on a stock Windows system, with nothing shared, you're still sharing C$ which is the root of you hard drive and all that's needed is an Administrator password? In other words, if I can see your computer in the Network Neighborhood, then I can hit Start -> Run and enter your <computer-name>c$. It will prompt for an Administrator username and password and then show me the contents of your entire C: drive. On most 2000 and XP systems out there, the Administrator password is blank. Scary!)
4) Defragmentation - this has many, many options other than the stock tool. Here's some recommendations:
A) before defrag'ing your drive, clear our your temp files. On a normal XP system, temp files will be found in C:temp, C:Windowstemp, and C:Documents and Settingsyour usernameLocal SettingsTemp.
NOTE: to see the Local Settings folder, you must have "Show Hidden Files" set in Explorer. To turn this on, open up My Computer, click Tools -> Folder Options, click the View tab. Under Hidden Files and Folders, put a bullet in "Show Hidden Files and Folders". Click apply, then OK.
However, rather than have to go into all these folders, you can simply have all temporary files put into one place. This is what I do. First, go into your C: drive and create a folder called "temp" (C:temp). Now right-click on My Computer and choose Properties. Click the Advanced tab, then the "Environment Variables" tab. For user variables (top), edit both "tmp" and "temp" to point to C:temp. Then, in System Variables (bottom), scroll down and change "TEMP" and "TMP" both to C:temp. Reboot your PC, then go back into the three temp folders mentioned in 4A and clear them out. Moving forward, only C:temp will gather junk.
B) another item to remove before defrag'ing your system are the "Windows Update" leftovers. Typically, C:Windows will fill up with folders called something like $NTUninstallK######$. These exist so you can use Add/Remove Programs to remove an update or patch that caused something on your system to break. However, if after applying the updates and running for a few weeks everything is stable, you can safely delete these as you aren't going to be uninstalling any of the patches. Play it safe, though, and delete them all, reboot once and make sure all works before emptying the Recycle Bin (no permanent deletes with SHIFT+DEL). If you're hurting for disk space, this can get back a few hundred meg's to a gig... literally.
C) another item to clear before defrag'ing is your browser cache. Whether you use IE or Firefox or Opera, go into the browser and use its tools to delete all your cache.
D) one thing I like to do is to delete my hibernate file before defrag'ing. This is a large file (typically equal to your system RAM) and is one of the "unmovable files" as far as MS's disk defragmentor is concerned. To remove this, right-click on the Desktop, choose Properties. Click the Screensaver tab, then the Power button. Now click the Hibernate tab, and uncheck "Enable Hibernation". You'll see that C:hiberfil.sys is gone. Re-enabling this after the defrag is as simple as reversing these steps.
E) the final thing to do is to close all open applications. Open apps result in "locked" or "open" files that cannot be defragmented. The easiest way to accomplish this is to first do a fresh reboot and don't start any apps (this way only Windows and autostart apps are open). Press CTRL-ALT-DEL and start the Task Manager. I typically sort by username and do an "End Process" for everything running under my username except for "explorer.exe" and "taskmgr.exe". Don't do an "End Process" for items under the usernames "SYSTEM", "LOCAL SERVICE", or "NETWORK SERVICE".
In quick summary, my defrag steps are to 1) clear browser cache, 2) reboot, 3) clean out temp files, 4) disable hibernation, and 5) kill all unneeded processes. If you're running with a pagefile, you can also disable this temporarily... see item #1 above, only remove your pagefile, reboot, defrag, then re-enable the page file. If I were running a pagefile, my modified defrag steps would be to 1) clear browser cache, 2) remove the pagefile, 3) reboot, 4) clean out temp files, 5) disable hibernation, 6) kill unneeded processes, 7) defrag, 8) reboot, 9) create pagefile, 10) re-enable hibernation, then 11) reboot again.
Another defrag-related option is SysInternal's "PageDefrag" link which can defrag your pagefile (if you have one), your hiberfil.sys file (hibernate file), and registry. In practice, I'll run this first, then reboot, then do the items listed immediately above.
5) Finally, you can speed up your system shutdown with a MS tool called User Profile Hive Cleanup Service. You can read about it here: link In my experience, with all the crap that Sony has auto-starting... if some of it errors or fails to shutdown properly, this tool helps a lot. It also helps with Outlook which is known for not shutting down properly in all cases.
6) Of course, installing only what you need and uninstalling what you don't helps too. In my case, upon receipt of the UX, the first thing I did was to spend some time in Add/Remove Programs and removed all the Sony stuff and pre-installed junk I didn't need. Doing so not only had fewer programs starting at boot time, but also freed up almost 1Gb of disk space.
There are many, many more tweaks and utilities out there. You can play with msconfig, you can edit the items set to autostart in the registry at HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun and RunOnce as well as in HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun and RunOnce as well as C:Documents and SettingsAll UsersStart MenuProgramsStartup. There's so much you can do, however the items listed above are what I did/do and it took me from a 1min, 38sec startup and 49sec shutdown to a 28sec startup and 14sec shutdown. While each individual item might only save a bit of time, the collective total is surprising. Now, if only I was on a 64Gb SSD drive... I might get it under 10 seconds...
If you're going to apply the above, I suggest benchmarking your system first. Time the system from clicking Start -> Shutdown -> Shutdown to actual power off. Then time it from pressing the power button to your password prompt (assuming you don't auto-login). Then repeat after the optimizations. Feel free to post your results in the comments...
NOTE: for some reason this site doesn't except slashes. Odd as this makes paths look weird. Nonetheless, where you see something like "C:temp", what I actually typed, and what you should enter would be "C:<slash>temp". Perhaps a mod can figure this out...
