Max number of open file descriptors is too low
Joel Reymont
joelr1@REDACTED
Tue Sep 27 16:16:53 CEST 2005
This won't work on Unix. Assuming that MAX_FILES() will return
ERL_MAX_PORTS, it will be reset back to FD_SETSIZE. I had this
problem on the Mac and had to edit header files.
Could this be a bug?
From erts/emulator/unix/sys.c
void
erl_sys_init(void)
{
...
if ((max_files = MAX_FILES()) < 0)
erl_exit(1, "Can't get no. of available file descriptors\n");
/* Note: this is if MAX_FILES() differ from FD_SETSIZE which it */
/* does by deafult on e.g. BSDI */
#if defined(USE_SELECT) && defined(FD_SETSIZE)
if (max_files > FD_SETSIZE)
max_files = FD_SETSIZE;
#endif
..
}
On Sep 27, 2005, at 4:06 PM, Bengt Kleberg wrote:
> On 2005-09-27 15:46, Joel Reymont wrote:
>
>> Folks,
>> Erlang hardcodes the maximum number of open file descriptors and
>> I think the default number is too low. At least on Windows it is.
>>
>
> ...deleted
>
>> Would the Erlang/OTP consider upping the number of descriptors on
>> Windows to something like 1024*8 or 1024*10?
>>
>
> greetings,
>
> have you tried this:
>
> (http://www.erlang.se/doc/doc-5.4.8/doc/efficiency_guide/
> part_frame.html)
>
> Open files, and sockets
> The maximum number of simultaneously open files and sockets
> depend on the maximum number of Erlang ports available, and
> operating system specific settings and limits.
>
> Open ports
> The maximum number of simultaneously open Erlang ports is by
> default 1024. This limit can be raised up to at most 268435456 at
> startup (see environment variable ERL_MAX_PORTS in erlang(3)) The
> maximum limit of 268435456 open ports will at least on a 32-bit
> architecture be impossible to reach due to memory shortage.
>
>
> bengt
>
>
--
http://wagerlabs.com/
More information about the erlang-questions
mailing list