180,000 kevents - out of memory errors

Simon Lai sjlai at synatech.com.au
Mon May 5 06:20:33 PDT 2003


Hi,

I want to watch approx 200,000 sockets
using kevent, but I get an ENOMEM error
when adding kevent structures to the kqueue.
The machine in question has 1.5GB RAM
and can happily accept 270,000 TCP connections,
but I need kevent to manage that many sockets,
select() being a little too slow.

I want to add one kevent struct to the queue
for each connection.

Currently I can only queue around 80,000 - 90,000
kevents, with this config -

   maxfiles=250000 
   nmbclusters=35000
   nmbufs=210000

with this config I can make 180,000 connections and 
queue 180,000 kevents -

   maxfiles=200000
   nmbclusters=40000
   nmbufs=240000

what should I do to improve the number of kevents
I can queue?

regs

Simon



More information about the freebsd-hackers mailing list