OK, this is probably a noob question, but if we have 64GB RAM on our HyperV (2008R2) host, and we are running disk intensive software, do we:
a) Allocate the 'minimum' RAM to the guest, and leave the rest for the host to use for disk caching, or
b) Allocate the maximum RAM to the guest (leaving 1GB for the host), and let the guest use it for disk caching?
Allocating half & half would seem to be a waste as they will probably both end up caching the same data (will they?), but it's not clear whether we're best letting the host or the guest do the caching. Or does it actually matter at all?
I've had a good look around and haven't been able to find any relevant recommendations.
More Info - the 'disk intensive' software is mainly a PostgreSQL server. We'll give that about 8GB for its shared buffers, but it seems to be recommended to use OS disk caching beyond that. There is a 1GB BBWC P420i RAID controller so write caching is performed on that. Currently, our biggest performance bottleneck seems to be due to uncached reads, so we are increasing the host RAM from 16GB to 64GB (and adding an SSD for index storage), but just want to know whether it's best to increase the guest RAM allocation, or leave it 'spare' on the host.