From 7e789df8dd9c7d86e9cc354521a37aa598aa5ec8 Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Wed, 31 Oct 2012 23:31:50 +0100 Subject: Improve configuration of process and port tables --- erts/doc/src/erl.xml | 67 ++++++++++++++++++++++++++++++++++++------------- erts/doc/src/erlang.xml | 35 +++++++++++++++++++------- 2 files changed, 75 insertions(+), 27 deletions(-) (limited to 'erts/doc') diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml index 4ef3e089a6..f7d8d37fd3 100644 --- a/erts/doc/src/erl.xml +++ b/erts/doc/src/erl.xml @@ -586,13 +586,51 @@ erts_alloc(3) for further information.

+ + +

Enable synchronous message passing to ports.

+

As of OTP-R16 message passing to ports are truly asynchronously + implemented. Correctly written Erlang programs should be able + to handle this without any issues. Bugs in existing Erlang + programs that make false assumptions about message passing to + ports may, however, be tricky to find. This switch has been + introduced in order to at least make it easier to compare + behaviors during a transition period. Note that this flag is + deprecated as of its introduction, and is scheduled for removal + in OTP-R17.

+
-

Sets the maximum number of concurrent processes for this - system. must be in the range 16..134217727. - Default is 32768.

-

NOTE: It is possible to choose any value in the range - but powers of 2 perform best.

+

Sets the maximum number of simultaneously existing processes for this + system. Valid range for Number is [1024-134217727]

+

NOTE: The actual maximum chosen may be much larger than + the Number passed. Currently the runtime system often, + but not always, chooses a value that is a power of 2. This might, + however, be changed in the future. The actual value chosen can be + checked by calling + erlang:system_info(process_limit).

+

The default value is 262144

+
+ + +

Sets the maximum number of simultaneously existing ports for this + system. Valid range for Number is [1024-134217727]

+

NOTE: The actual maximum chosen may be much larger than + the actual Number passed. Currently the runtime system often, + but not always, chooses a value that is a power of 2. This might, + however, be changed in the future. The actual value chosen can be + checked by calling + erlang:system_info(port_limit).

+

The default value used is normally 65536. However, if + the runtime system is able to determine maximum amount of file + descriptors that it is allowed to open and this value is larger + than 65536, the chosen value will increased to a value + larger or equal to the maximum amount of file descriptors that + can be opened.

+

Previously the environment variable ERL_MAX_PORTS was used + for setting the maximum number of simultaneously existing ports. This + environment variable is deprecated, and scheduled for removal in + OTP-R17, but can still be used.

@@ -601,21 +639,14 @@ default. This flags sets the emulator in compatibility mode with an earlier Erlang/OTP release . The release number must be in the range - ]]>. This limits the emulator, - making it possible for it to communicate with Erlang nodes - (as well as C- and Java nodes) running that earlier release.

-

For example, an R10 node is not automatically compatible - with an R9 node, but R10 nodes started with the - flag can co-exist with R9 nodes in the same distributed - Erlang system, they are R9-compatible.

+ -2..]]>. This + limits the emulator, making it possible for it to communicate + with Erlang nodes (as well as C- and Java nodes) running that + earlier release.

Note: Make sure all nodes (Erlang-, C-, and Java nodes) of a distributed Erlang system is of the same Erlang/OTP release, or from two different Erlang/OTP releases X and Y, where all Y nodes have compatibility mode X.

-

For example: A distributed Erlang system can consist of - R10 nodes, or of R9 nodes and R9-compatible R10 nodes, but - not of R9 nodes, R9-compatible R10 nodes and "regular" R10 - nodes, as R9 and "regular" R10 nodes are not compatible.

@@ -1026,7 +1057,7 @@ the given number of seconds have elapsed, the emulator will be terminated by a SIGALRM signal.

- +

The content of this environment variable will be added to the beginning of the command line for .

@@ -1036,7 +1067,7 @@ the section, i.e. the end of the command line following after an flag.

- and + and

The content of these environment variables will be added to the end of the command line for .

diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index 0963904b83..2da456d49f 100644 --- a/erts/doc/src/erlang.xml +++ b/erts/doc/src/erlang.xml @@ -3225,10 +3225,11 @@ os_prompt% the owning process using signals of the form {'EXIT', Port, PosixCode}. See file(3) for possible values of PosixCode.

-

- The maximum number of ports that can be open at the same - time is 1024 by default, but can be configured by - the environment variable ERL_MAX_PORTS.

+

The maximum number of ports that can be open at the same + time can be configured by passing the + +Q + command line flag to + erl(1).

@@ -5954,18 +5955,34 @@ ok

Returns a string containing the OTP release number.

process_count + +

Returns the number of ports currently existing at + the local node as an integer. The same value as + length(erlang:ports()) returns.

+
+ port_limit + +

Returns the maximum number of simultaneously existing + ports at the local node as an integer. This limit + can be configured at startup by using the + +Q + command line flag of + erl(1).

+
+ process_count

Returns the number of processes currently existing at the local node as an integer. The same value as length(processes()) returns.

- process_limit + process_limit -

Returns the maximum number of concurrently existing +

Returns the maximum number of simultaneously existing processes at the local node as an integer. This limit - can be configured at startup by using the command line - flag +P, see - erl(1).

+ can be configured at startup by using the + +P + command line flag of + erl(1).

procs -- cgit v1.2.3