Optimize background processes on Windows virtual machines

To improve the performance of a virtual machine (VM) that runs a Windows guest operating system, you can disable unnecessary background services, remove unused devices, and reduce periodic tasks.

About this task

Warning

Certain processes might not work as expected if you change their configuration. Disabling security features such as antivirus software might compromise the security of the VM.

Procedure

  • Minimize hardware and interface overhead:
    • Remove unused virtual devices, such as USB controllers or CD-ROM drives, and disable the associated ports in the VM configuration.
    • Disable the screen saver to prevent unnecessary CPU cycles.
    • Keep the Windows OS on the sign-in screen when the VM is not in active use.
  • Optimize system services and clock settings:
    • Disable background services that perform frequent indexing or caching, such as SuperFetch and Windows Search. For more information, see Disabling system services.
    • Disable the useplatformclock setting to improve timing performance. Run the following command in a Windows command prompt with administrative privileges:
      C:\> bcdedit /set useplatformclock No
  • Manage scheduled tasks and applications:
    • Review and disable unnecessary scheduled tasks, such as scheduled disk defragmentation. For more information, see Disable Scheduled Tasks.
    • Reduce periodic activity of server applications by editing the respective timers. For more information, see Multimedia Timers.
    • Close the Server Manager application when it is not needed.
  • Adjust storage and security settings:
    • Ensure that the virtual disks are not encrypted, as encryption can add significant I/O overhead.
    • If the environment allows, disable antivirus software to reduce background scanning activity.