How can I work out whether a Virtuozzo UBC host is overselling?




I am posting this as a VPS customer. I have a Virtuozzo VPS using UBC, with 384MB guaranteed and around 6GB (!!) burstable, while the physical server has 8GB RAM and 12GB swap. I can see physical server’s memory usage as meminfo is not virtualised, and the server constantly has less than 1GB free + buffers + cached, while the swap is currently at more than 5GB. I can only see how much memory my VPS is using — 160MB oomguarpages and 200MB privvmpages — so it is far below the limit of the package, but the VPS can feel slow sometimes, which I suspect might be due to swapping.

The question I would like to ask is — is it possible to pin-point why the VPS is slow? My apps are obviously not CPU bounded, and as iostat is not really working in Virtuozzo I cannot tell whether it is IO-bounded inside my VPS either. Is it possible to find out whether it is due to excessive paging on the physical server, so I can go to my provider and say, “hey you are overselling and you should not pack that many VE into a physical server”.

Something I suspected, but please correct me if I am wrong as I am no expert in Virtuozzo, is that high burstable amount is actually bad. I guess from host’s point of view they set it high so their customers can host Java applications, but if the customers host only the LAMP stack, they can now use far more than their “guaranteed” memory as allocated/committed ratio is low.

One question I have is — when will OOM kick in to kill processes? When physical memory is exhausted before paging out? Or when all virtual memory is exhausted, i.e. even the swap is full. I guess it might be later? Wouldn’t it be too late in my situation, that when OOM handler kicks in to kill processes in VE using more than their guaranteed memory, the entire physical server (+ ALL the VE inside) is already crawling because there is simply too much paging activity going around? In another word, other VE on the same physical server can severely affect my VE’s performance and their processes are not afraid to be killed (say using “only” 5GB privvmpages and 3.5GB commited), as long as there is still swap space left?

It could be in this situation where while my provider DOES NOT oversell based on their guaranteed memory calculation, with high burstable amount people are in fact using more than they should and drag everyone’s performance down due to swapping.

I would like to get opinions from providers who are familiar with Virtuozzo UBC/OpenVZ, and hopefully be able to push forward a recommendation to my provider so they can adjust their settings.




Leave a Reply

You must be logged in to post a comment.