Use a bash script that calls "ulimit -n X" before starting your daemon. Where X is the number of concurrent open file descriptors you need. Linux can support thousands per process.
See the bash man page for ulimit documentation. On Tue, Jul 19, 2016 at 12:12 PM, Alexander Poddey <[email protected] > wrote: > Hmm, > > on linux, the number of file descriptors per process is limited (typically > to 1024). The total limit on my machine (kernel limit is ~734 000 opened > files). > > This means a process can accept only 1024 connections?!? > > I can tweak the limit as super user of that machine; this however is no > good > solution. > Think of my agent simulation running on a server where I'm not root. Then > each process can accept only 1024 connections which is way to few... > > I wonder why zmq needs a file descriptor per connection... > > Alexander > > > > Doron Somech wrote: > > > I'm not sure I understand, each file descriptor is a socket. When > > zeromq accept tcp socket another file descriptor is created. OS should be > > able to manage thousands and tens of thousand open descriptor. > > > > On Jul 19, 2016 6:56 PM, "Alexander Poddey" <[email protected]> > > wrote: > > > >> > >> Essentially, the question is: > >> why does ZMQ consume file descriptors at all? > >> > >> > >> > >> > >> > Hi, > >> > > >> > I have a setup in C++ on linux where a master process is setting up a > >> > ZMQ_ROUTER and then forks many child processes, which then connect to > >> that > >> > router (tcp protocol). > >> > Whenever a child zmq_connect's to the master, a file descriptor is > >> > occupied (and assigned to the master process). They get free'ed fine > >> > when the connection is close. > >> > > >> > This however limits the number of interacting processes to the number > >> > of allowed file descriptors (per process). For me (linux), this > >> > currently is 1024, which is way to small for my intended use > >> > (multi-agent / swarm simulation). > >> > > >> > Can I prevent this behaviour? > >> > In my mesaging architecture, each agent connects to 6 sockets, so with > >> 100 > >> > agents I end up with 600 occupied file descriptors :-( > >> > > >> > Alexander > >> > > >> > > >> > _______________________________________________ > >> > zeromq-dev mailing list > >> > [email protected] > >> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >> > >> > >> _______________________________________________ > >> zeromq-dev mailing list > >> [email protected] > >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > -- Tony Willoughby [email protected]
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
