Re: ZONE_NORMAL memory exhausted by 4000 TCP sockets

From: Eric Dumazet
Date: Mon Nov 06 2006 - 04:23:16 EST


On Monday 06 November 2006 09:59, Zhao Xiaoming wrote:

> Thank you again for your help. To have more detailed statistic data, I
> did another round of test and gathered some data. I give the overall
> description here and detailed /proc/net/sockstat, /proc/meminfo,
> /proc/slabinfo and /proc/buddyinfo follows.
> =====================================================
> slab mem cost tcp mem pages lowmem
> free with traffic: 254668KB 34693
> 38772KB
> without traffic: 104080KB 1
> 702652KB
> =====================================================

Thank you for detailed infos.

It appears you have an extensive use of threads (about 10000), since :

> task_struct 10095 10095 1360 3 1 : tunables 24 12
> 8 : slabdata 3365 3365 0

Each thread has a kernel stack, 8KB (ie 2 pages, order-1 allocation), plus a
user vma

> vm_area_struct 21346 21504 92 42 1 : tunables 120 60
> 8 : slabdata 512 512 0

Most likely you dont need that much threads. A program with fewer threads will
perform better and use less ram.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/