1. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon that, when executed by a computer, cause the computer to: establish a counter to count cache-misses occurring on a processor of the computer; count a number of cache-misses that occur during a time slice of execution of a virtual machine on the processor, wherein the time slice of execution of the virtual machine is allocated to the virtual machine based upon a priority assigned to the virtual machine, a number of credits issued to the virtual machine, and a CPU-scheduling algorithm for the processor; and in response to detecting that the number of cache-misses that occur during the allocated time slice of execution of the virtual machine exceed a quota of cache-misses allotted to the virtual machine and receiving an interrupt generated by the counter, penalize the virtual machine by preemptively ending the execution of the virtual machine within the allocated time slice on the processor in favor of a next virtual machine scheduled to be executed after the allocated time slice of the execution of the virtual machine according to the CPU-scheduling algorithm for the processor, so that the virtual machine will receive less execution time with the processor without decrementing the priority assigned to the virtual machine, thereby reducing an adverse impact of the virtual machine on a performance of other virtual machines, including the next scheduled virtual machine, executing on the computer.