avoiding idle disk access in a Windows 10 VM


lionceau

Recommended Posts

Hi,

 

I have a Win10 VM set up for Steam that uses a VM disk image for the steam library. The disk image is rather large and thus has to be stored directly on the Array.

My problem was that Windows 10 would continuously issue small reads/writes while idle. This spun up both the parity and the array disk for only 1 or 2 reads/writes as per unraid dashboard.

Since the drive only "sees" the large 1TB disk image, small accesses don't get cached so my target was to eliminate every single one of them.

I think I've fixed the problem now with these steps. I'll update this list as I find more services/programs accessing the drive.

Please be aware that disabling services and editing the registry can break functionality so be sure to keep a backup and don't follow this unless you know what you are doing.

 

- disable Superfetch and Prefetch

 

-  in "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" create a new DWORD value named "NoLowDiskSpaceChecks" and set to value "1". This disables regular checks by explorer.exe for low disk space.

 

- set Steam to autoupdate in a limited timeframe, again preferably at night just before the mover spins up disks anyway.

 

- disable the following services: ncbservice (network connection broker), pcaservice (program compatibility assistant service)

 

for VMs with Nvidia cards only:

 

- disable NVtmrep in the task scheduler, it's a Nvidia driver component that seems to scan all disks once a day for telemetry/debug purposes.

 

- reschedule NvProfileUpdaterDaily to run at night just before the mover

 

 

After these steps my disks stay spun down even though Win10 and Steam are running idle and the VM disk image is mounted.

If you still have problems I can recommend Windows Process Monitor and Process Explorer for debugging the random read/writes.

 

 

update: I've given up on this, there always seems to be some service, program or task that randomly wakes up the array for no reason.

 

The way I've solved it is with two diskpart.exe batch scripts, one to put the virtual disk offline and one to put it back online inside Win10.

 

online.bat runs on startup and via a manual shortcut inside steam

offline.bat runs after the computer is idle for 15 minutes

 

this way i can manually spin up the disk via steam remote streaming and can be sure that the disk is offline the rest of the time.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.