Study guide
Technical reference and lesson notes
In Citrix Provisioning, also known as PVS, the write cache is one of the most important concepts to understand when working with standard mode vDisks.
When a vDisk is placed in standard mode, the base vDisk is treated as read-only. This allows multiple target devices to boot from the same shared image without each device permanently changing the base image. Since Windows and applications still need a place to write temporary changes during the session, Citrix Provisioning redirects those writes to a write cache location.
The write cache is where the target device stores changes such as operating system writes, application activity, temporary files, page file activity, and other session-based changes. These writes do not go back into the base vDisk. In most standard image scenarios, the write cache is discarded when the target device reboots, allowing the device to return to a clean image on the next boot.
Why the Write Cache Matters
The write cache directly impacts performance, stability, storage usage, and network traffic. If the write cache is too small, located on slow storage, or configured in a way that does not match the workload, target devices may experience poor performance, paused I/O, blue screens, or excessive load on the Provisioning Servers.
The key design question is simple: where should the target device write its temporary changes?
Citrix Provisioning provides several write cache options, but the recommended option for most modern deployments is cache in device RAM with overflow to the local hard disk.
Write Cache Options
1. Cache on the Target Device Hard Drive
With this option, the target device writes cache data to a local disk attached to the target device. This could be a physical disk on a physical machine or a small virtual disk attached to a virtual machine.
In a virtual desktop environment, this usually means the VM template includes a small additional disk that is used for write cache. When the VM boots from the streamed vDisk, writes are redirected to that local cache disk instead of the base vDisk.
Historically, this cache mode created a cache file on an NTFS-formatted local disk. In current Citrix Provisioning guidance, older local hard disk cache methods are generally not the preferred approach. Citrix’s recommendation is to use cache in device RAM with overflow to hard disk instead.
2. Cache on the Target Device Hard Drive, Persisted
This option is similar to caching on the target device hard drive, but the cache is persistent. That means the cache can survive a reboot instead of being cleared each time the target device restarts.
This option is not generally recommended for most modern standard image use cases. The slide and transcript specifically call this out as experimental and not recommended. The main benefit of standard mode is that devices return to a clean state after reboot, so persistent cache can work against the normal operational model unless there is a very specific reason to use it.
3. Cache in Target Device RAM
With this option, the write cache is stored directly in the RAM of the target device.
This is very fast because memory is much faster than disk. However, it requires careful sizing. If the RAM cache fills up, the target device can become unstable and may crash or blue screen. This makes pure RAM cache risky unless the workload is predictable and enough memory has been allocated.
This option can be useful in very controlled environments, but it is not usually the safest default for production workloads because there is no disk overflow location if RAM becomes exhausted.
4. Cache in Target Device RAM with Overflow to Local Disk
This is the preferred and recommended option for most modern Citrix Provisioning deployments.
With this configuration, writes are stored in target device RAM first. If the RAM cache fills, older blocks are written to the local cache disk. This provides the speed benefit of RAM while still giving the target device a disk-based overflow location to prevent the instability that can happen with RAM-only cache.
This option requires a local disk on the target device. The disk should be formatted with NTFS and sized appropriately for the expected workload. In modern Citrix Provisioning, this cache mode uses a VHDX differencing format, and the local disk cache file commonly appears as vdiskdif.vhdx.
This is the best general-purpose option because it reduces I/O, improves performance, and avoids sending all write traffic back across the network to the Provisioning Server.
5. Cache on the Provisioning Server
With this option, the write cache is stored on the Provisioning Server.
This is usually not recommended for production workloads because it increases disk I/O on the Provisioning Server and increases network traffic between the target devices and the PVS infrastructure. Every write operation has to traverse the network back to the server-side cache location.
This option may be useful in limited lab or testing scenarios, but it can create performance and scalability problems in larger environments.
Recommended Configuration
For most Citrix Provisioning environments, the best write cache option is:
Cache in device RAM with overflow on hard disk
This option gives the best balance of performance and stability. RAM absorbs the active writes, and the local disk provides a safety net when the RAM cache fills. This reduces network dependency, lowers server-side I/O, and helps prevent the instability that can occur with RAM-only cache.
Important Sizing Considerations
The local cache disk must be sized correctly. If the local disk fills up, the target device can experience serious performance issues or I/O pauses. The amount of RAM allocated to the cache does not eliminate the need for enough local disk space. More RAM can reduce how quickly the disk cache grows, but the disk still needs to be large enough for the workload.
The correct size depends on the operating system, installed applications, user workload, reboot frequency, page file behavior, antivirus activity, Windows updates, and any applications that generate frequent disk writes.
As a general rule, production environments should be tested under real workload conditions before finalizing the RAM cache and local disk cache size.
Operational Notes
When a target device is booted from a standard mode vDisk, the write cache is normally temporary. After the target device reboots, the cache is cleared, and the machine starts again from the clean base image.
If cache in device RAM with overflow to hard disk is used, each target device needs a suitable local disk available for overflow. If that disk is missing, not formatted correctly, or does not have enough free space, the target device may fail over to server-side cache or experience degraded behavior.
Pure RAM cache should be used carefully because a full RAM cache can cause instability or a blue screen.
Server-side cache should generally be avoided unless there is a specific reason to use it, because it increases Provisioning Server disk I/O and network utilization.
Quick Summary Table
| Cache Type | Location | Main Benefit | Main Concern | Recommendation |
|---|---|---|---|---|
| Cache on target device hard drive | Local disk on target | Keeps writes local | Older/legacy approach, disk sizing required | Use RAM with overflow instead |
| Cache on target device hard drive, persisted | Local disk on target | Can survive reboot | Not recommended for most standard image use cases | Avoid unless specifically required |
| Cache in target RAM | Target device memory | Very fast | Can crash if RAM cache fills | Use carefully |
| Cache in target RAM with overflow to disk | RAM first, then local disk | Best balance of speed and stability | Requires properly sized local disk | Recommended |
| Cache on PVS server | Provisioning Server storage | Simple for limited testing | Increases network and server I/O | Avoid for production when possible |
Conclusion
The write cache is what allows Citrix Provisioning target devices to boot from a shared read-only vDisk while still allowing Windows and applications to write temporary data during the session.
For modern Citrix Provisioning deployments, cache in device RAM with overflow to hard disk is typically the best option. It provides strong performance by using RAM first while still protecting the target device by overflowing to local disk when needed. Proper sizing and validation are critical because an undersized cache disk or RAM-only configuration can lead to instability, failed writes, or poor user experience.
Citrix References
https://docs.citrix.com/en-us/provisioning/2503-1/manage/managing-vdisks/write-cache
https://support.citrix.com/external/article/CTX119469/understanding-write-cache-in-provisionin.html
https://docs.citrix.com/en-us/provisioning/current-release/configure/configure-targets.html