Virtualization is often used in cloud computing platforms for its several advantages in efficient management of the physical resources. However, virtualization raises certain additional challenges, and one of them is lack of power metering for virtual machines (VMs). Power management requirements in modern data centers have led to most new servers providing power usage measurement in hardware and alternate solutions exist for older servers using circuit and outlet level measurements. However, VM power cannot be measured purely in hardware. We present a solution for VM power metering. We build power models to infer power consumption from resource usage at runtime and identify the challenges that arise when applying such models for VM power metering. We show how existing instrumentation in server hardware and hypervisors can be used to build the required power models on real platforms with low error. The entire metering approach is designed to operate with extremely low runtime overhead while providing practically useful accuracy. We illustrate the use of the proposed metering capability for VM power capping, leading to significant savings in power provisioning costs that constitute a large fraction of data center power costs. Experiments are performed on server traces from several thousand production servers, hosting Microsoft’s real-world applications such as Windows Live Messenger. The results show that not only does VM power metering allows reclaiming the savings that were earlier achieved using physical server power capping, but also that it enables further savings in provisioning costs with virtualization.