It seems to me that there is no good reason to run the Optimize phase inside these VMs. I have confirmed with HDTune that there is no performance drop from the beginning of the virtual disk to the end, so it seems that there is no good reason to run with Optimize enabled. So I have been running it with the "-a 2" option.
New JKDefrag user here - first time poster - great app!
Anyway, some VM's can have huge virtual disks, as big as a HDD from just several years ago. And those big files can get fragged and span across an even bigger disk. I have no benchmarks to show, but my defrag strategy is to defrag the VM's virtual disk first. That orders the VD's contents. Then I close the VM and defrag again from the host to get the VD defragged. This seems to work for my fixed size VD's. I think that'd work well for a dynamic VD too. I think it'd be fine to reverse the order too, as either way would get em straighted out after a couple passes. I still take the optimize approach on both sides though. Anything to keep the heads from moving!