Subject: Re: [vserver] OOM Killer in Guest crashes Host
From: Herbert Poetzl <herbert@13thfloor.at>
Date: Tue, 13 Jul 2010 12:11:01 +0200

On Tue, Jul 13, 2010 at 10:25:57AM +0200, Oliver Welter wrote:
> Hi All,

> I have a guest that runs out of memory due to limits set,
> vserver-stats output is (www4 is the candidate):

> 67      45   2.5G   1.4G   1d01h24   3h25m34  33d01h27 mx
> 69      28   5.6G 381.8M  21m38s88  11m13s42  19h36m52 www1
> 70      26   2.9G 291.4M   3m53s25   1m22s45  31m01s88 www2
> 72      19   3.7G 277.3M  10h15m29   1h51m05  33d01h26 www3
> 74      20   4.2G 217.1M   0m42s84   0m19s54  27m37s12 www4

from the output, I presume that you are not using the
memory cgroups yet ...

> In the logs I get
> Out of memory: kill process apache2(24000:#74) score 896596 or a child
> Killed process apache2(3298:#74) vsz:352584kB, anon-rss:11348kB,
> file-rss:4028kB

> which is totaly fine - but after severel oom kills the whole HOST
> server dies. The above line is the last one I see in the kernel log,
> afterwards I get a bunch of binary data and then a syslog restart
> after the boot.

> Anybody knows whats happening? I assume that the host and even other
> guests should not be affected by a mad running guest....

known problem with this kernel, enable memory cgroups
and use that (probably requires an update to util-vserver)
or avoid setting a hard limit on guests

HTH,
Herbert

> Mileage: Host and Guests are running a recent gentoo build, vserver-info ist
> 
>                    Kernel: 2.6.33.4-vs2.3.0.36.30.4-aufs
>                    VS-API: 0x00020305
>              util-vserver: 0.30.216-pre2864; Apr  2 2010, 17:41:13
> 
> Features:
> 		       CC: x86_64-pc-linux-gnu-gcc, x86_64-pc-linux-gnu-gcc (Gentoo
> 4.3.4 p1.0, pie-10.1.5) 4.3.4
>                       CXX: x86_64-pc-linux-gnu-g++,
> x86_64-pc-linux-gnu-g++ (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4
>                  CPPFLAGS: ''
>                    CFLAGS: '-O2 -pipe -std=c99 -Wall -pedantic -W
> -funit-at-a-time'
>                  CXXFLAGS: '-O2 -pipe -ansi -Wall -pedantic -W
> -fmessage-length=0 -funit-at-a-time'
>                build/host: x86_64-pc-linux-gnu/x86_64-pc-linux-gnu
>              Use dietlibc: yes
>        Build C++ programs: yes
>        Build C99 programs: yes
>            Available APIs: v13,net,v21,v22,v23,netv2
>             ext2fs Source: e2fsprogs
>     syscall(2) invocation: alternative
>       vserver(2) syscall#: 236/glibc
>                crypto api: beecrypt
>           python bindings: yes
>    use library versioning: yes
> 
> Paths:
>                    prefix: /usr
>         sysconf-Directory: /etc
>             cfg-Directory: /etc/vservers
>          initrd-Directory: $(sysconfdir)/init.d
>        pkgstate-Directory: /var/run/vservers
>           vserver-Rootdir: /vservers

> Oliver

> -- 
> Protect your environment -  close windows and adopt a penguin!
> PGP-Key: 3B2C 8095 A7DF 8BB5 2CFF  8168 CAB7 B0DD 3985 1721
>