1. A method for virtual machine management, comprising: establishing a first virtual machine on a hardware platform; performing a selected task on the first virtual machine; recording a first data set indicating a characteristic of the first virtual machine performing the selected task; establishing a second virtual machine on the hardware platform; performing the selected task on the first and second virtual machines; recording a second data set indicating the characteristic of the first and second virtual machines performing the selected task; indicating acceptable data and unacceptable data within the first and second data sets, the indicating comprising determining unacceptable data based on an over-constrained condition for the first or second virtual machine; creating and training a decision tree based on a first subset of data that is indicated as acceptable and a second subset of data that is indicated as unacceptable from the first and second data sets; and inputting a third data set from a third virtual machine into the decision tree wherein the decision tree is used to predict whether the third virtual machine will be over-constrained based at least in part on the acceptable data and the unacceptable data from the first and second subsets, and wherein the third data set is current data and historical data of the third virtual machine.