Rules of Thumb
- You want to ensure the average CPU load on your server is less than 70% under regular usage (by all users). You want to be able to gracefully handle spikes in need.
- Disable Serial and Parallel Ports on your Host PC/Server
- In BIOS, go to Advanced ->I/O Device Configuration and disable serial and parallel ports. Save changes and Exit.
- Install VirtualBox Guest Additions
- Install all Windows Patches, then turn OFF Automatic Updates
- Disable Serial and Parallel ports in Device Manager (if they exist)
- Set Screensaver to "None" or "Blank" (this saves CPU over a graphic image screensaver)
- Disable System Sounds (Set Sound scheme to "None")
- (Windows 7) Uninstall Tablet PC Components
- Disable Windows Error Reporting
- Remove unnecessary boot applications (Quicktime, Real, Adobe Acrobat Updater, etc.).
- Remove any unneeded Windows components and applications (Outlook Express, Messenger, Games, etc.)
- Disable any unnecessary services
- If you access the internet through a proxy, it is important to configure your golden master image with the correct proxy settings. It is recommended to refer to the operating system documentation for detailed instructions; a good starting point is http://technet.microsoft.com/en-us/library/cc985352.aspx.
- Disable NTFS "Last Accessed" option
fsutil behavior set disablelastaccess 1(Requires reboot)
- Disable Windows Prefetcher & Set the value to 0 (Disable)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher];
- Disable System Restore
- Right Click "My Computer" -> Properties, -> "System Restore" tab and select "Turn off System Restore"
- Disable Indexing
- Double Click "My Computer, Right click on C:\ -> Properties -> Click "General" tab and clear "Allow Indexing Service to Index…"
- Disable Offline Files
- Disable scheduled or background Defrag
- Disable Windows Search
- Disable Windows Disk Optimizer
- Adjust the disk timeout value
- Use User Profile Hive Cleanup Service to help prevent profile corruption
- Disable hibernation
- Change power settings to "High Performance" and disable sleep timer
- Set HDD’s to "Never" turn off
Control Panel -> Power Options -> Change Plan Settings -> Change Advanced power settingsand set the "Turn off hard disks after" setting to
- Disable the Logon Screen Saver
- HKEY_USERS\.DEFAULT\Control Panel\Desktop
- Edit ScreenSaverActive and change value to 0
- Disable logging of informational Printing events
- Open "Printers and Faxes", Click
File-> Server Properties -> Advancedand clear "Log spooler informational events"
- Disable Success Logging (login attempts, etc.)
- Only do this if security policy allows it
- Disable Toolbar Notifications
- Disable the Windows XP Tour Notifier
- Disable Balloon Tips
- Shrink Event Logs and enable circular logging (registry keys)
- Disable Desktop Cleanup Wizard
- Upgrade to the latest browser version.
- Disable "Use Suggested Sites"
- Set the default home page to your Intranet site, or blank, or something lightweight
- Change IE to prevent programs from suggesting a change of the search provider
- Remove Webslice gallery and suggested sites from Toolbars on IE
- Add "trusted sites" as necessary
- Shrink the IE Temp File size
- Adjust browser cache size to lowest useful setting
- Install Adobe Flash Player (turning off automatic updates)
- Install Adobe Reader and set to "Do not download or install updates automatically"
- Turn Java Updater off
- Remove MS OneNote tray service (if installed)
- Turn off Outlook Cached Mode
- Remove the Language Bar
- Regsvr32.exe /u msutb.dll
- install a more efficient browser than Internet Explorer (e.g., Google Chrome) and set this as the default browser.
General OS Environment
- Set Pagefile to static size
- Change the default Windows Theme to "Basic"
- Adjust visual effects for "Best Performance"
- Enable ClearType Fonts
- Turn off Windows Security Center
- Turn off Automatic Computer Maintenance
- Disable "Allow users to browse for troubleshooters"
- Disable "Allow troubleshooting to begin immediately when started"
- Install, setup and test your printers
- Disable NetBIOS over TCP/IP
- Disable IPv6
- Add any necessary DNS suffixes
- Add any necessary HOSTS entries for "custom" applications
- Disable Automatic Searching of Network Printers and Shares
- DHCP: Adjust default lease time
- Optimize the Registry
- RegScrub.exe – Registry Cleaner
- NTRegOpt.exe – Registry Optimizer, removing "white" space in registry
- Run disk cleanup
- Defrag the HDD
- Delete all event logs
- Make the User profile the Default Profile
- (Windows 7) ensure KMS server is enabled
- Make sure Floppy and CD-ROM drives are set to "Client Device" and not set to "Connect at Power On"
- When using "locked" clones AV may not be required
- If you are using AV, avoid running AV scans concurrently
- Full systems scans cause major performance impacts
- Stagger full systems scans (when full system scans are a corporate standard)
- Schedule any full system scans to run at night when no one is using the system.
- Use folder redirection for My Documents potentially even to a Network Attached Storage (NAS)
- Easier to use existing file archival system, maintain multiple file versions
- Evaluate Profile Management Applications
- Turn off Outlook/thunderbird Cached Mode (VMs that are on same high speed network as your mail server don’t benefit as much from cached mode). This will save on disk space and conserve storage IOPS.
|Recommended Setting||Background Explanation|
|Disable "Background Intelligent Transfer Service"||This service uses idle network bandwidth to fetch updates for the system, like Windows Update. As we will disable these other services that rely on BITS, we can disable BITS.|
|Disable "Desktop Windows Manager Session Manager"||This service is responsible for Windows 7 Aero theme. Turning this off typically improves performance.|
|Disable "Function Discovery Resource Publication"||This service publishes each computer's information onto the network so peers can discover them. This functionality is typically not required in most environments. If you do not require this functionality we suggest disabling it.|
|Disable "HomeGroup listener" and "HomeGroup provider"||This is responsible for HomeGroup membership. As the virtual Windows 7 desktops will most likely be in a domain model, the homegroup functionality is not required.|
|Disable "Indexing Service"||The Indexing Service creates an index of local and remote files to allow for faster searching. As this information is created and stored locally. If you are using locked clones these indexes will be destroyed upon each reboot due to the read-only configuration of the locked clone. That means each reboot will start with a blank index. Disabling this service will improve scalability but will results in a slightly degraded user experience when they perform searches.|
|Disable Offline Files||Responsible for management and maintenance and synchronization of offline files. If your host PC/Server is online, there is little need for Offline File support.|
|Disable "Security Center"||Disabling the Security center will eliminate reporting of issues with antivirus, malware or firewall configurations. Since many of these items are being disabled or modified, disabling this service eliminates these messages being displayed to (and potentially annoying) your users.|
|Disable "SuperFetch"||SuperFetch tries to improve system performance over time by “learning” the typical user activity. In locked clones this information is deleted on each reboot hence provides little value.|
|Disable "System Restore"||The System Restore service creates system snapshots and restore points. This functionality is unneeded as the virtual desktop is based on a golden, read-only (locked) image. Disabling System Restore will save disk space and CPU time.|
|Disable "Themes"||Themes allows users to manage the themes (including backgrounds, sounds and visual effects, etc.). This service take resources and will impact overall scalability. We recommend disabling this unless you want user to be able to personalize their environment.|
|Disable "Windows Defender"||Assuming you have your own anti-malware solution, it makes sense to disable the integrated windows service.|
|Disable "Windows Media Player Sharing Service"||Unless users will be sharing items to other users via Media Player, this service can be disabled.|
|Disable "Windows Search"||Disabling Windows Search will improve scalability, however many applications rely on this service. Disabling the service might result in failed searches or longer user wait-times for search results.|
|Disable "Windows Error Reporting"|
|Disable "Automatic Updates"|
|Disable "System Restore"|
Utilizing complex screen savers wastes resources. Instead, the blank screen saver should be used to secure the environment without impacting resources.
|Force Offscreen Composition for Internet Explorer|
Overcomes a potential screen flicker issue for certain websites.
"Force Offscreen Composition"=dword:00000001
|Reduce Menu Show Delay|
Reduces the delay Windows sets for menus. Provides better user experience.
|Disable all Visual Effects except "Use common tasks in folders" and "Use visual styles on windows and buttons"|
Provides a better user experience.
Note: The UserPreferenceMask changes based on the settings selected in the System Properties – Performance Options configuration page.
|Disable Boot Animation|
Disabling the animation, saves resources and can speeds up the boot process.
|Remove unused Windows components|
These items are typically not be used in most zero client environments.
|Set Min & Max Page file values to the same||Keeping the pagefile at a single size prevents the system from expanding, which creates a significant amount of IO.|
|Optimize Antivirus||Decide your A/V strategy. Configure antivirus to scan writes and disable the scheduled scans. The base image should be scanned before being deployed within production. should be done after completing all other optimizations.|
|Disk Cleanup||Removes unnecessary files and can save disk space (depending on your VM cloning strategy)|
|Defragmentation||Defragmenting your disk should be done before cloning your Golden Mater Image to ensure the disk is optimized. Note: this step should be done as a final step after completing all other optimizations.|