On numerous occasions I have faced the question whether the virtual machine I am on is being affected by other VMs running on the same VM host. I understand that even in a perfect scenario where neither CPU nor RAM nor Disk have been over-provisioned there will be some effects on sibling VMs on the same host.

Are there any proven methods of measuring resource contention from within a Virtual Machine? What is a good approach?

I have in the past measured run time of standardized tasks(eg. compiling GCC or encoding video) between different VMs, but the results vary even when I control the load on all other VMs on the same system.

I should mention all these systems are Linux based.

Edit: Let's assume I do not have direct access to the host, only the VMs