Main memory contributes a large fraction of energy consumption in powerful servers running virtualization software to support concurrent virtual machines (VMs). Furthermore, data-intensive applications executing inside virtual machines increase the demand for larger physical memory, resulting in the memory subsystem consuming a significant portion of system's energy. Data-intensive applications heavily rely on a large buffer cache that occupies a majority of physical memory and as a result we are focusing on the power management for physical memory dedicated to the buffer cache in VMs. Existing approaches have focused on optimizing memory energy consumption from an operating system (OS) perspective. However, these approaches cannot be directly used in a virtual machine environment because of abstractions and separations used in virtualization of resources. To address virtualization of resources, we adapt an existing mechanism that leverages file I/O system calls in the guest OS kernel to hide the delay incurred by the memory power state transition while reducing memory energy consumption. In addition, we propose a novel hybrid mechanism that is able to improve energy efficiency for memory-mapped files in addition to regular file I/Os through system calls. Through detailed trace driven evaluation, the delay-hiding energy management in the guest operating system inside a virtual machine can reduce memory energy consumption by 89.6% compared with a standard virtual machine environment when handling file I/O system calls; our proposed hybrid mechanism performs better than either mechanism and can improve memory energy saving with negligible delay when processing both file I/O system calls and memory-mapped files.