> nope, I've read the FAQ carefully and it's not that. :(

If you are unsing Linux, I imagine that the kernel will call kmalloc 
for as structure whose size is proportional to the highest FD 
specified in the request.  It is possible that the kmalloc is failing 
because kernel memory is too fragmented to allow a contiguous 
allocation of the required size; if you really get silly, you could 
exceed the 128k absolute limit for kmalloc.

There are alternatives to kmalloc for allocating large amounts of 
memory, but I imagine the kernel writers didn't expect huge select 
lists.

To confirm that kmalloc is used, you will need to look at the source 
code.  To find out what size of free memory are available, there is a 
debug function mapped to shift or control scroll-lock (I think) - 
these may well not be nice to the system.  A partial solution to 
fragmentations may be to adjust /proc/sys/vm/freepages to set a 
higher target number of free pages. 



-- 
David Woolley - Office: David Woolley <[EMAIL PROTECTED]>
BTS             Home: <[EMAIL PROTECTED]>
Wallington      TQ 2887 6421
England         51  21' 44" N,  00  09' 01" W (WGS 84)

Reply via email to