1. A method for generating a virtual machine, comprising: detecting a runtime request to generate a virtual machine (VM) clone of a VM, the request received from a program executing within the VM to clone that issues a command to duplicate VM to clone, the request received by a virtual machine manager during runtime of the program on a computing device executing the VM to clone; identifying an operating state of the VM to clone in response to detecting the cloning request; generating a virtual hardware configuration to clone the identified operating state of the VM to clone; generating at runtime with the virtual machine manager, in response to the cloning request, a mapping of the virtual hardware configuration to physical hardware resources for the VM clone on the computing device including identifying available hardware resources in the computing device and determining a workload of each of the available physical hardware resources, the physical hardware resources including processing resources and memory resources; and generating the VM clone on the physical hardware resources based on the mapping.