Messages in this thread | | | Subject | Re: OOM when adding ipv6 route: How to make available more per-cpu memory? | From | Eric Dumazet <> | Date | Sat, 06 Nov 2010 08:26:32 +0100 |
| |
Le vendredi 05 novembre 2010 à 17:07 -0700, Ben Greear a écrit :
> We just tried creating 1000 macvlans with IPv6 addrs on a 64-bit machine > with 12GB RAM. Only around 520 interfaces properly set their IPs, and > again there are errors about of-of-memory from 'ip', but no obvious > splats in dmesg. > > 'top' shows 10G or so free. > > It will take some time to figure out what exactly is returning > the ENOMEM....
At least, nothing to do with percpu stuff ?
On my 4GB machine, 16 'cpus' (but 32 possible cpus), I was able to allocate. 8192 percpu 8192 bytes structures
(total : 32 * 8192 * 8192 = 2 Gbytes)
setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:32 nr_node_ids:2 PERCPU: Embedded 26 pages/cpu @ffff88007fc00000 s76032 r8192 d22272 u131072 pcpu-alloc: s76032 r8192 d22272 u131072 alloc=1*2097152 pcpu-alloc: [0] 00 02 04 06 08 10 12 14 17 19 21 23 25 27 29 31 pcpu-alloc: [1] 01 03 05 07 09 11 13 15 16 18 20 22 24 26 28 30
grep Vmalloc /proc/meminfo VmallocTotal: 34359738367 kB VmallocUsed: 2202592 kB VmallocChunk: 34356996456 kB
Make sure udev / hotplug is not the problem, if you create your devices very fast.
(modprobe dummy numdummies=2000) can be very slow because of that. All tasks are fighting for RTNL or sysfs mutex.
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |