1. A method for optimizing a prediction of resource usage of an application running in a virtual environment, comprising: providing a predetermined set of benchmarks; executing the predetermined set of benchmarks in a native hardware system in which the application natively resides; executing the predetermined set of benchmarks in the virtual environment; collecting first traces of first resource utilization metrics in the native hardware system based on the execution of the predetermined set of benchmarks in the native hardware system; collecting second traces of second resource utilization metrics in the virtual environment based on the execution of the predetermined set of benchmarks in the virtual environment; generating a first prediction model that maps a first selected set of the first traces of the selected first metric to the second traces of resource utilization metrics; generating a second prediction model that maps a second selected set of the first traces of the selected first metric to the second traces of resource utilization metrics; generating a third prediction model that maps the first and second selected sets of the first traces of the selected first metric to the second traces of resource utilization metrics; comparing the first and second prediction models against the third prediction model; and predicting a resource usage of the application running in the virtual environment with either a) a combination of the first and second prediction models or b) the third prediction model based on the comparing.