Re: ZONE_NORMAL memory exhausted by 4000 TCP sockets
From: Al Boldi <hidden>
Date: 2006-11-07 08:04:10
Also in:
lkml
From: Al Boldi <hidden>
Date: 2006-11-07 08:04:10
Also in:
lkml
Zhao Xiaoming wrote:
The latest update:
It seems that Linux kernel memory management mechanisms including
buddy and slab algorisms are not very efficient under my test
conditions that tcp stack requires a lot of (hundreds of MB) packet
buffers and release them very frequently.
Here is the proof. After change my kernel configuration to support
2/2 VM splition, LOMEM consumption reduced to 270M bytes compared with
640M bytes of the 1/3 kernel. All test conditions are the same and
memory pages allocated by TCP stack are also the same, 34K ~ 38K
pages. In other words, 'lost' memory changed from ~500M to ~130M.
Thus, I have nothing to do but guessing the much more free pages make
the slab/buddy algorisms more efficient and waste less memory.I kind of agree, and always compile for a 2G/2G VM split, as this also seems to affect certain OOM conditions positively. What isn't quite clear though, why is the 2G/2G VM split not the default? Thanks! -- Al