diff --git a/ChangeLog b/ChangeLog index 7d87328dc..738189ed4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-12-02 Badlop + * src/ejabberdctl.cfg.example: Bugfix in kernel poll. Added SMP + option. Reorganization of options + * src/ejabberdctl.template: Added SMP option + * src/Makefile.in: New options make uninstall and uninstall-all (EJAB-293) diff --git a/src/ejabberdctl.cfg.example b/src/ejabberdctl.cfg.example index 587270e3f..ceceb725f 100644 --- a/src/ejabberdctl.cfg.example +++ b/src/ejabberdctl.cfg.example @@ -1,6 +1,29 @@ -# Additional options passed to erlang while starting ejabberd. # -#export ERL_OPTIONS="-heart" +# In this file you can configure options that are passed by ejabberdctl +# to the erlang runtime system when starting ejabberd +# + +# POLL: Kernel polling (+K [true|false]) +# +# The kernel polling option requires support in the kernel. +# Additionaly, you need to enable this feature while compiling Erlang. +# +# Default: +K false +# +#POLL="+K true" + +# SMP: SMP support (-smp [enable|auto|disable]) +# +# Explanation in Erlang/OTP documentation: +# enable: starts the Erlang runtime system with SMP support enabled. +# This may fail if no runtime system with SMP support is available. +# auto: starts the Erlang runtime system with SMP support enabled if it +# is available and more than one logical processor are detected. +# disable: starts a runtime system without SMP support. +# +# Default: -smp disable +# +#SMP="-smp auto" # ERL_MAX_PORTS: Maximum number of simultaneously open Erlang ports # @@ -8,11 +31,36 @@ # another Jabber server. The option ERL_MAX_PORTS limits the number of # concurrent connections and can be specified when starting ejabberd. # -# Default value: 1024 -# Maximum value: 268435456 - +# Default: 1024 +# Maximum: 268435456 +# export ERL_MAX_PORTS=32000 +# PROCESSES: Maximum number of Erlang processes +# +# Erlang consumes a lot of lightweight processes. If there is a lot of activity +# on ejabberd so that the maximum number of proccesses is reached, people will +# experiment greater latency times. As these processes are implemented in +# Erlang, and therefore not related to the operating system processes, you do +# not have to worry about allowing a huge number of them. +# +# Default: 32768 +# Maximum: 268435456 +# +#PROCESSES="+P 32768" + +# ERL_MAX_ETS_TABLES: Maximum number of ETS and Mnesia tables +# +# The number of concurrent ETS and Mnesia tables is limited. When the limit is +# reached, errors will appear in the logs: +# ** Too many db tables ** +# You can safely increase this limit when starting ejabberd. It impacts memory +# consumption but the difference will be quite small. +# +# Default: 1400 +# +#ERL_MAX_ETS_TABLES="-env ERL_MAX_ETS_TABLES 1400" + # ERL_FULLSWEEP_AFTER: Maximum number of collections before a forced fullsweep # # To reduce memory usage, you can set environment variable ERL_FULLSWEEP_AFTER. @@ -24,48 +72,18 @@ export ERL_MAX_PORTS=32000 # (webserver, mail) on which ejabberd does not receive constant load. # # Default: 65535 - +# #export ERL_FULLSWEEP_AFTER=0 -# PROCESSES: Maximum number of Erlang processes (default=32768, max=268435456) -# -# Erlang consumes a lot of lightweight processes. If there is a lot of activity -# on ejabberd so that the maximum number of proccesses is reached, people will -# experiment greater latency times. As these processes are implemented in -# Erlang, and therefore not related to the operating system processes, you do -# not have to worry about allowing a huge number of them. - -#PROCESSES="+P 32768" - -# POLL: Kernel polling (-K true) -# -# The kernel polling option requires that you have support for it in your -# kernel. By default, Erlang currently supports kernel polling under FreeBSD, -# Mac OS X, and Solaris. If you use Linux, you need to apply a patch. -# Additionaly, you need to enable this feature while compiling Erlang. - -#POLL="-K true" - -# ERL_MAX_ETS_TABLES: Maximum number of ETS and Mnesia tables (default=1400) -# -# The number of concurrent ETS and Mnesia tables is limited. When the limit is -# reached, errors will appear in the logs: -# -# ** Too many db tables ** -# -# You can safely increase this limit when starting ejabberd. It impacts memory -# consumption but the difference will be quite small. - -ERL_MAX_ETS_TABLES="-env ERL_MAX_ETS_TABLES 1400" - # The next variable allows to explicitly specify erlang node for ejabberd # It can be given in different formats: # ERLANG_NODE=ejabberd -# Lets erlang add hostname to the node (ejabberd uses short name in this case) +# Lets erlang add hostname to the node (ejabberd uses short name in this case) # ERLANG_NODE=ejabberd@hostname -# Erlang uses node name as is (so make sure that hostname is a real machine -# hostname or you'll not be able to control ejabberd) +# Erlang uses node name as is (so make sure that hostname is a real +# machine hostname or you'll not be able to control ejabberd) # ERLANG_NODE=ejabberd@hostname.domainname -# The same as previous, but erlang will use long hostname (see erl (1) manual for details) +# The same as previous, but erlang will use long hostname +# (see erl (1) manual for details) # #export ERLANG_NODE=ejabberd diff --git a/src/ejabberdctl.template b/src/ejabberdctl.template index 49e17eb94..9d05b559e 100644 --- a/src/ejabberdctl.template +++ b/src/ejabberdctl.template @@ -43,7 +43,7 @@ fi # Compatibility in ZSH #setopt shwordsplit 2>/dev/null -ERLANG_OPTS="$POLL $PROCESSES $ERL_MAX_ETS_TABLES" +ERLANG_OPTS="$POLL $SMP $PROCESSES $ERL_MAX_ETS_TABLES" start () {