With the emerging of many data centers around the globe, heavy loads of large-scale commercial and scientific applications executed in the cloud call for efficient cloud resource management strategies to save energy without compromising the performance and system throughput. According to the statistics from the Data Centre Dynamic (DCD) organization, the expected energy consumption by computer servers would increase by 19% in 2013 compared with the previous year. Such trend may continue for many years. Moreover, the estimated energy consumption of computers in the U.S. was about 2% out of the total electricity consumption in 2010, which makes IT industry the second pollution contributor after aviation. In this paper, a novel approach for scheduling, sharing and migrating Virtual Machines (VMs) for a bag of cloud tasks is designed and developed to reduce energy consumption with guaranteed certain execution time and high system throughput. This approach is derived from an Enhanced First Fit Decreasing (EFFD) algorithm combined with our VM reuse strategy. Furthermore, virtual machine migration method is introduced to dynamically monitor the cloud situation for necessary migration. Our simulation results using Cloud Report show that EFFD with our VM reuse strategy gains higher resource utilization rate and lower energy consumption than Greedy, Round Robin (RR) and FDD without VM reuse.