summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--src/ejabberdctl.cfg.example96
-rw-r--r--src/ejabberdctl.template2
3 files changed, 62 insertions, 40 deletions
diff --git a/ChangeLog b/ChangeLog
index 7d87328d..738189ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2007-12-02 Badlop <badlop@process-one.net>
+ * 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 587270e3..ceceb725 100644
--- a/src/ejabberdctl.cfg.example
+++ b/src/ejabberdctl.cfg.example
@@ -1,71 +1,89 @@
-# 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
+#
-# ERL_MAX_PORTS: Maximum number of simultaneously open Erlang ports
+# POLL: Kernel polling (+K [true|false])
#
-# Erlang consumes one port for every connection, either from a client or from
-# another Jabber server. The option ERL_MAX_PORTS limits the number of
-# concurrent connections and can be specified when starting ejabberd.
+# The kernel polling option requires support in the kernel.
+# Additionaly, you need to enable this feature while compiling Erlang.
#
-# Default value: 1024
-# Maximum value: 268435456
-
-export ERL_MAX_PORTS=32000
+# Default: +K false
+#
+#POLL="+K true"
-# ERL_FULLSWEEP_AFTER: Maximum number of collections before a forced fullsweep
+# SMP: SMP support (-smp [enable|auto|disable])
#
-# To reduce memory usage, you can set environment variable ERL_FULLSWEEP_AFTER.
-# But in this case ejabberd may work slower.
+# 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.
#
-# The ERL_FULLSWEEP_AFTER option shrinks the size of the Erlang process after
-# RAM intensive events. Note that this option may downgrade performance. Hence
-# this option is only interesting on machines that also host other services
-# (webserver, mail) on which ejabberd does not receive constant load.
+# Default: -smp disable
#
-# Default: 65535
+#SMP="-smp auto"
-#export ERL_FULLSWEEP_AFTER=0
+# ERL_MAX_PORTS: Maximum number of simultaneously open Erlang ports
+#
+# Erlang consumes one port for every connection, either from a client or from
+# another Jabber server. The option ERL_MAX_PORTS limits the number of
+# concurrent connections and can be specified when starting ejabberd.
+#
+# Default: 1024
+# Maximum: 268435456
+#
+export ERL_MAX_PORTS=32000
-# PROCESSES: Maximum number of Erlang processes (default=32768, max=268435456)
+# 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.
-
-#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"
+# Default: 32768
+# Maximum: 268435456
+#
+#PROCESSES="+P 32768"
-# ERL_MAX_ETS_TABLES: Maximum number of ETS and Mnesia tables (default=1400)
+# 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 **
-#
+# ** 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_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.
+# But in this case ejabberd may work slower.
+#
+# The ERL_FULLSWEEP_AFTER option shrinks the size of the Erlang process after
+# RAM intensive events. Note that this option may downgrade performance. Hence
+# this option is only interesting on machines that also host other services
+# (webserver, mail) on which ejabberd does not receive constant load.
+#
+# Default: 65535
+#
+#export ERL_FULLSWEEP_AFTER=0
# 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 49e17eb9..9d05b559 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 ()
{