[Users] Memory overflow in an OpenVZ VPS

Samuli Seppänen samuli.seppanen at tietoteema.fi
Wed Sep 26 03:31:54 EDT 2007


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.

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!

Samuli Seppänen


More information about the Users mailing list