1. An apparatus for managing hypercalls in a hypervisor, which is adapted to said hypervisor having an interrupt handler and a scheduler, said apparatus comprising: a deferrable low-overhead hypercall (DLH) module configured to assign a separate DLH queue to each of a plurality of virtual machines when said virtual machine is initialized, where each entry in the separate DLH queue represents a hypercall routine; wherein when one of said plurality of virtual machines that is running notifies said interrupt handler of one or more deferrable hypercalls to be executed, said interrupt handler saves the virtual central processing unit (VCPU) context of said running virtual machine, and said scheduler selects at least a VCPU and assigns the at least a VCPU to said virtual machine to run on at least a physical CPU (PCPU), and said DLH module executes said at least a deferrable hypercall inserted in a corresponding DLH queue assigned to the virtual machine having the at least an assigned VCPU before said hypervisor restores VCPU context to the virtual machine having the at least an assigned virtual CPU.