All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Understanding cpu "load" on a VPS with noisy neighbors
My understanding of uptime load is that it represents the average number of processes waiting for or using the cpu. I also understand that VPS hosts often use load as way to determine if a user is using too many resources: if the load is over a certain amount for a period of time, then something happens (reboot, throttle down, etc).
What I do not understand is what load means in a shared system such as a VPS (OpenVZ is what I use). For example, if another user is being noisy, that might cause I/O or CPU delays for me. Would this not cause my load to go up? Which then could lead to the possibility of my services being throttled/re-booted even if I were not the heavy user?
Or, does my execution of uptime load somehow take the above in account and not inflate my load based on what others are doing? Or does OpenVS properly identify which container is actually causing the problem and only reboot/throttle the heavy user.
Comments
You are on shared system. Every one took some of CPU. Some of you more, some less. Lets say Hardware node have cpu power 100 units. For example there are 9 virtual machines on that hardware node. Every one uses 10 units + hw node is using 10 units... All that equals 100. Node is working normal...
If you for example are using 20 units all other units will be under their ten to cover loss that you made... If you are abusing cpu really hard, provider will shut you down, because of other users on that hardware node.
You will loose some performance as you are covering that abusive user.
Did you understand ?
I had a bit of trouble understanding that.. But I got the most important part.
When someone "abuses" uses more resources the system shifts more resources to the abuser in turn other users end up not have the resources available to them and having a crap day because of it.
I assume the host node can see processes / CPU / ram per container in solusvm and in the terminal? Or monitoring systems they have in place per node?
I think I get what is being said. Clearly, abusers will drain resources from other users. But the question I want to hone in on is: how does someone else's abuse affect my "load".
If hosts stop/reboot processes if my load gets too high, then I think it is important to understand what causes my load to get to high. Can other users cause my load to get to high, or is my high load (for better or worse) really under my control?
Thanks,
-Adam
If the physical CPU is overloaded, virtual cores will show higher load as well, even if they are doing the same amount of processing. The abuser would have the highest load though.
If all else fails, reboot the node? :P
I've had a few instances where someone was abusing the node (I never checked my CPU though as it's an idle VPS), I noticed my I/O was terribly slow 2-3 mb/s this would affect anything hosted on the box, websites etc.
Yeah, if we see several containers showing high loads out of nowhere, it's usually one particular culprit causing problems.
If you assign a fixed cpu percentage to each user, shouldn't it be impossible then for him to slow down other VM's?
The load is not so straightforward to see from hw node.
Because of OVZ poor isolation you can have one abuser with low load lock cores through various techniques. Those cores will not be available to others and overall load will be distributed to the remaining cores driving overall load up.
I find load limiting on OVZ to be somewhat lacking, in Xen, the load can be tweaked to a much higher degree.
Not on OpenVZ but KVM you can dedicated X amount of physical or virtual cores. Someone correct me if I'm wrong here.
If you have a 1TB drive or 250GB you could have X VMs sharing it meaning an abuser could still abuse disk I/O.
In OpenVZ you can assign number of cores and core percentage also there are CPU units for core ratio distribution between clients.
Good explanation here
http://openvz.org/Resource_shortage
In theory, yes in practice, it doesnt work much more than sending a message to the abuser. The load on the server remains high extra load for isolation is introduced and switching all the time does not help a CPU under already heavy OVZ load.
^^^ In practice, you are screwed...
Well, you can limit very drastically, giving 200 Mhz or even lower, but that is equivalent to kicking, IMO...