On Windows VMs, you'd typically run defrag and Precompact (from precompact.iso), then use VS/VPC to compress the VHD while the VM is offline. I have a Linux VM with a VHD of ~3GB but df reports 1.5GB ...