FD_SETSIZE is 64 on Windows, probably because that is the limit for efficient implementation of select() using MsgWaitForMultipleObjectsEx().<div>However, all efficient I/O on Windows uses I/O completion ports, which are a lot more efficient than select() (more like epoll on Linux). I imagine Erlang uses IOCP as well on Windows, but I don't know for sure.</div>
<div><br></div><div>The erl environment has various "raise these limits" options. We start ours with something like:</div><div>-env ERL_MAX_PORTS 200500</div><div>+P 1001001</div><div>This lets us spawn over a million processes and open two hundred thousand sockets and files. (The machine itself also has increased the ulimit for the number of file descriptors)</div>
<div><br></div><div>Hope this helps!</div><div><br></div><div>Sincerely,</div><div><br></div><div>jw</div><div><br></div><div><br></div><div><br>--<br>Americans might object: there is no way we would sacrifice our living standards for the benefit of people in the rest of the world. Nevertheless, whether we get there willingly or not, we shall soon have lower consumption rates, because our present rates are unsustainable. <br>
<br>
<br><br><div class="gmail_quote">On Fri, Oct 21, 2011 at 12:35 AM, Joel Reymont <span dir="ltr"><<a href="mailto:joelr1@gmail.com">joelr1@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I don't think you can.<br>
<br>
I bump against this all the time on the Mac.<br>
<br>
Erlang uses the FD_SETSIZE setting from the system header files when compiled, normally 1024.<br>
<br>
Editing this value and re-compiling Erlang causes epmd to stop working.<br>
<br>
My solution is to save the old epmd and recompile after editing the system header files.<br>
<div class="im"><br>
On Oct 21, 2011, at 7:25 AM, Martin Dimitrov wrote:<br>
<br>
> Hi all,<br>
><br>
> I am developing on a Windows 7 machine, Erlang R14B04. The limit of open<br>
> handles seems to be 1200. But this is not imposed by the operating<br>
> system (Windows has a hard coded limit of 16 million handles). So my<br>
> question is how can I increase the handle limit in Erlang?<br>
<br>
</div>--------------------------------------------------------------------------<br>
- for hire: mac osx device driver ninja, kernel extensions and usb drivers<br>
---------------------+------------+---------------------------------------<br>
<a href="http://wagerlabs.com" target="_blank">http://wagerlabs.com</a> | @wagerlabs | <a href="http://www.linkedin.com/in/joelreymont" target="_blank">http://www.linkedin.com/in/joelreymont</a><br>
---------------------+------------+---------------------------------------<br>
<div><div></div><div class="h5"><br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>