[ejabberd] clustering and memory usage

Badlop badlop at gmail.com
Wed Oct 24 02:23:22 MSD 2007


2007/10/22, Jesse Thompson <jesse.thompson at doit.wisc.edu>:
> I've been playing around with "-env ERL_FULLSWEEP_AFTER 0", which seems
> to help keep the process from growing too much.  Are there any downsides
> to this?

There are several paragraphs in this page which seem interesting, look
for 'fullsweep':
http://www.erlang.org/doc/man/erlang.html

In summary it may save RAM and consume more CPU.


> Would it help to change some or all of the "disc_copies" mnesia tables
> to "disc_only_copies"?  I think that this might help if the roster table
> is especially large.

At least 'offline_msg' is not required in RAM I guess.


> Any other ideas?

You can try to use pgsql or mysql as storage instead of mnesia.


And now speaking in the long term. There is an proposal to modify data
types used internally in ejabberd: 'use binaries instead of lists
where possible':
https://support.process-one.net/browse/EJAB-17

I made such a change in some of my Erlang code non-ejabberd-related,
and the program consumes less RAM and a lot less CPU. In the case of
ejabberd, I don't know how difficult and beneficial it will be, but it
will be interesting to see.


More information about the ejabberd mailing list