Subject: Re: Kernel Panic on OOM with 10 HTB rules

From: Krzysztof Olędzki <[email-masked]>
Date: Wed, 08 Sep 2010 17:02:29 +0200

On 2010-09-08 16:45, Eric Dumazet wrote:
<CUT>
> Thanks
>
> You are running a 32bit kernel, so kernel can _not_ use more than 800
> Mbytes of memory (Lowmem) for his own needs (including all network
> buffers)
>
> If you cannot switch to 64bit kernel, then you are forced to use lower
> queue lengths (I see your imq devices use insane 11000 txqueuelen)
>
> Each frame use 4K, maybe 16K, it depends on MTU.
>
> even if we dont take into account other needs :
> 11000 * 16K = 170 Mbytes per imqX
> 1000 * 4K = 4Mbytes per ethX
>
> 170M * 8 ->  memory overflow
>
> Also /proc/sys/vm/min_free_kbytes  limit is probably too small.
>
> Really, using a 32bit kernel on this machine is not wise.
>
> Even reducing physical ram to 4GB would be better, you would get more
> Lowmem memory ;)
>
> Since vmalloc is not used very much on your machine you can reduce
> vmalloc window from 128M to 32M to save 96MB of low mem
> (boot parameter : vmalloc=32M )

It is also possible to build a kernel using 2G/2G MEM SPLIT or even 
1G/3G if there is small userspace activity. But indeed, x86-64 is the 
proper solution to choose.

Best regards,

			Krzysztof Olędzki