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. Finally I got what I want. Thank you all for your help and advices.
Xiaoming. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html