1. A method comprising: each time a currently scheduled virtual machine (VM) accesses a hardware resource over a bus for the hardware resource via the currently scheduled VM running on a processor, adjusting a bandwidth counter associated with usage of the bus for the hardware resource, by a hardware component without involvement of the currently scheduled VM or a hypervisor managing the currently scheduled VM; and responsive to the bandwidth counter reaching a threshold value, issuing an interrupt by the hardware component for handling by the hypervisor to maintain bandwidth quality-of-service (QoS) of bus bandwidth related to the hardware resource, wherein the hardware resource and the hardware component are each hardware different than the processor, and wherein the bandwidth counter is implemented directly in hardware as opposed to being a software-implemented counter.