Private heap or shared heap

Could someone tell me whether ejabberd is built to use a private heap or shared heap? I've taken a look at the config files, but could not find anything related.

Pieter Rautenbach

This is just speculation:

This is just speculation: ejabberd is not designed, implemented or requires private or shared heap; that's a decision by Erlang.

Erlang documentation, 'erl' command line tool.

Thanks, badlop. Maybe I

Thanks, badlop. Maybe I should've said 'compiled' and not 'built'. I found a number of threads on the Erlang archive discussing the topic of private vs. shared heaps (more than 10). The way I understood it (I may be wrong) is that this is an option during compilation. However, I cannot find a flag to set such an option. The reason that I need to know this, is that our cluster of 3 Jabber servers cause the various machines to run out of memory due to heap memory allocation - see http://www.ejabberd.im/node/551.

I just read up about HiPE

I just read up about HiPE (High Performance Erlang) - it seems like the heap options I've mentioned is part of this. I assume ejabberd is not compiled with HiPE. Any comments are still welcome though.

Re: I just read up about HiPE

parautenbach wrote:

I assume ejabberd is not compiled with HiPE.

Again, ejabberd does not require or restrict HiPE, you can or cannot use it as you wish.

Since the experiments Aleksey and me did on the past do not show any advantage on using HiPE, it's not used on the default configuration. But you can experiment with it, maybe you find an interesting option :)

About the heap thing, I found this: Unified heap stack: -shared. But I didn't experiment too much with it, so I can't tell you if it's worth or not.

I guess the binaries available on Debian, Gentoo, Process-one both Windows and Linux... do not use -shared or HiPE.

Syndicate content