Search code examples
erlangejabberderlang-shell

How to tweak Erlang VM configurations?


I've read this Link on load testing eJabberd and MongooseIM. Author mentioned tweaking of Erlang VM Link.

Tweaks:

+K true
+A 5
+P 10000000
-env ERL_MAX_PORTS 1000000
-env ERL_FULLSWEEP_AFTER 2
-env ERL_MAX_ETS_TABLES 100000

I tried using them like that erl +K true specified in this Link.

Questions: How to tweak Erlang VM? How does one check if the setting has been set? Do i need restart eJabberd after changing the settings?


Solution

  • You should read the man page. Some of those switches have changed and you don't give them as -env variables more in newer Erlang VM's. ERL_MAX_PORTS is the +Q switch now, for instance.

    Also, do you need tuning at all? What is the problem you are trying to solve by tweaking knobs? Forcing a large amount of processes with the +P flag takes up lots of memory on older Erlang releases. So unless you use that many processes, it is a bad move.

    And yes, emulator flags need a restart for them to be effective.