Suppose I have a VHD residing on Disk A mounted on a Windows Server 2016.

If I turn write caching on for Disk A and the VHD, do I have double write caching?

  • If yes, is this recommended?
  • If it is not, should the write caching be done on Disk A or on the VHD?

Suppose I put this VHD then into a Storage Spaces and created a virtual disk with 5 GB writeback cache.

  • How does this write back cache interact with the write caching?
  • And again, what is the recommended way to configure this for 1) optimal reliability and 2) optimal speed?


  • Storage spaces does not allow turning off write cache.

2 Answers 2


Virtual machine I/O isn't cached, it's very easy to check actually: run Process Manager which incapsulates old FileMon functionality and watch your .vhd(x) files access flags - should be FILE_FLAG_NO_BUFFERING raised and combined with a bunch of different "hint" flags.


Inside the VM you can turn disk cache either on or off - it's irrelevant, results will be pretty much the same.


You'll still cache I/O at file system level inside your VM using vRAM though.

  • 1
    Good tip on the FILE_FLAG_NO_BUFFERING. Thanks, this teaching me how to find the answer is better than answering the question itself!
    – R J
    Sep 7, 2017 at 9:45
  • My pleasure! :) Sep 7, 2017 at 11:31

VHDs use unbuffered I/O, and don't go through the Windows cache manager. The files that you store in the VHD may be cached, but the VHD itself won't be.

Furthermore, Storage Spaces isn't supported when you use a VHD, mostly because it can't determine whether the underlying data is stored redundantly.

  • 1
    Isn't supported means not officially supported? But the system does allow you to include a mounted vhd in a storage space.
    – R J
    Aug 29, 2017 at 20:02
  • Allowed = yes, supported = no. Sep 4, 2017 at 5:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.