[Users] Memory overflow in an OpenVZ VPS

Samuli Seppänen samuli.seppanen at tietoteema.fi
Wed Sep 26 09:00:33 EDT 2007


> Samuli Seppänen wrote:
>> Hello everybody!
>>
>> I'm having problems with OpenVZ memory management. I have (probably) 
>> read all the Wiki articles there are that touch that subject, and 
>> browsed through the mailing list archives to no avail.
>>
>> Most of my OpenVZ VPS'es work just fine after a bit of fiddling, but one 
>> of them is misbehaving constantly. It always runs out of memory, no 
>> matter how much I give it. It is running 10 instances of a same server 
>> to give better interactive responsiveness. I was just wondering if the 
>> server program is leaking memory and causing this erratic behavior, or 
>> if there is something wrong with my OpenVZ VPS's configuration.
>>
> 
>> The physical server runs only this one VPS. The hardware node has 2GB of 
>> RAM plus 2GB of swap. The VPS is given roughly 3.5GB of that if 
>> available (privvmpages limit). It is guaranteed 2.5GB (vmguarpages 
>> barrier). This is FAR more than the server software in question needs, 
>> but still it occasionally (and predictably) runs out of memory.
>>
>> The strange thing about the VPS is that the HELD values in oomguarpages 
>> and privvmpages are _much_ lower than the MAXHELD values - almost 
>> triple. There should be no usage peaks that should cause this kind of 
>> asymmetry, unless an instance of the server software goes amok.
> 
> Yes, privvmpages maxheld shows that software tried to allocate lots of memory in reality.
> And this VE used 874046 pages of RAM+swap (oomguarpages) in the peak, i.e. ~3.4Gb !!!
> It looks like accounting doesn't lie and your software really tries
> to allocate that much from time to time.

Yes, oomguarpages maxheld is suspiciously high, and probably slows 
things down considerably when the server starts swapping.

> 
> Have you seen yourself when this was happening and failcounters were increasing?
> If you can observe this VE being near the limit,
> run top in host system and sort processes by RSS usage.
> This will show you which processes consume most of the memory (RSS column).

I'll have to monitor the VPS when it's approaching the privvmpages 
limit. Luckily monit will tell me when that is happening :). I'll let 
you know what I find out. It starts to seem like the servers in the VPS 
are just misbehaving.

> BTW, have you did something to make VE use less memory (like server restart)
> or the memory usage drops that low itself after some time of being high?

No, I've done nothing special after the latest failure. Sometimes one of 
the server instances dies and has to be restarted, but it's only _one_ 
instance, and there are several others still around.

>> The VPS's resource information is shown below. The parameters are not 
>> optimized, as you can see, but that not my biggest problem right now :). 
>> So can you see anything wrong with these settings, or should I take a 
>> look at the server software that is running on the VPS?
>>
>> [root at VPS_NODE ~]# cat /proc/user_beancounters
>> Version: 2.5
>> uid  resource           held    maxheld    barrier      limit    failcnt
>> 103: kmemsize       19265157   40765738  183079731  201387704          0
>>       lockedpages           0          0       8939       8939          0
>>       privvmpages      383368     930126     917504     930000        153
>>       shmpages          21647      24239      31099      31099          0
>>       dummy                 0          0          0          0          0
>>       numproc             229        524       8000       8000          0
>>       physpages        236810     485688          0 2147483647          0
>>       vmguarpages           0          0     655360 2147483647          0
>>       oomguarpages     382472     874046     310999 2147483647          0
>>       numtcpsock          532        793       8000       8000          0
>>       numflock             18        594       1000       1100          0
>>       numpty                1          4        512        512          0
>>       numsiginfo            0         39       1024       1024          0
>>       tcpsndbuf       3524644    4236356   28258577   61026577          0
>>       tcprcvbuf       3530300    6528712   28258577   61026577          0
>>       othersockbuf     190060    1737340   14129288   46897288          0
>>       dgramrcvbuf           0      41836   14129288   14129288          0
>>       numothersock        204       1169       8000       8000          0
>>       dcachesize            0          0   39977755   41177088          0
>>       numfile           11106      22346      71488      71488          0
>>       dummy                 0          0          0          0          0
>>       dummy                 0          0          0          0          0
>>       dummy                 0          0          0          0          0
>>       numiptent            10         10        200        200          0
>>
>> [root at HOST_NODE ~]# free
>>               total       used       free     shared    buffers     cached
>> Mem:       2073344    2017716      55628          0      66928     954828
>> -/+ buffers/cache:     995960    1077384
>> Swap:      2031608     586508    1445100
> 
>> Anyways, thanks for a great Open Source virtualization project!
> you are welcome :@)
> 
> Thanks,
> Kirill
> _______________________________________________
> Users mailing list
> Users at openvz.org
> https://openvz.org/mailman/listinfo/users
> 



More information about the Users mailing list