To meet the growing demands on cloud services and applications, a sizeable number of large scale cloud data centers, hosting thousands of heterogeneous servers, is established by cloud service providers. The ever growth in establishing cloud data centers is accompanied by consuming enormous amounts of energy. Thus, proposing efficient management approaches to reduce the energy consumption in cloud data centers becomes a top priority for ensuring the scalability of the cloud computing architecture. In general, the main source of energy overconsumption in today’s data centers is due to the inefficient use of the physical servers’ resources, which results in poor server utilization patterns. So, the key aspect is to utilize the physical resources optimally while serving the cloud user demands. This paper investigates the design and implementation of virtual machine management strategies for energy efficient cloud data centers. Particularly, it considers the processes of virtual machine placement and virtual machine consolidation in enhancing the energy efficiency in cloud infrastructures. While addressing the virtual machine placement problem is important, virtual machine consolidation is even more important to enable continuous reorganization of the already-placed virtual machines on the least number of physical machines. This results in reducing the number of active physical machines by leveraging live virtual machine migration enabled by the virtualization concept. Moreover, since the virtual machine migration operations consume additional energy, the frequency of VM migrations needs to be limited and controlled as well. The paper presents a distributed approach to an energy-efficient dynamic virtual machine consolidation mechanism. This approach determines, based on novel algorithms, which virtual machines to migrate, and when. Then, the placement of the virtual machines selected for migration is achieved based on a generalization of the Knapsack Problem known as the Multiple Choice Knapsack Problem. The placement process suits both static and dynamic virtual machine placement. The results of the performance evaluation demonstrate that the proposed new algorithms are able to enhance the energy efficiency in cloud data centers.