[erlang-questions] How to deal with Mnesia core files

Ulf Wiger <>
Tue Mar 2 08:38:10 CET 2010

This view has certainly been put forth by others in the past,
and I recall having argued for this myself. The problem is that
mnesia amortizes the housekeeping cost over time, in the form of
log dumps. This makes transactions on disk-based copies return
faster than they otherwise should be, but that a high transaction
load may accumulate a processing debt.

The thing that makes mnesia dump core is that it hits a system
limit (max number of ets tables). This limit is configurable, but
the better solution would be to regulate the system load so that
the mnesia log dumps don't stack up.

How to do this may well be system dependent. You need to locate
the points of entry into your system that eventually trigger work
against mnesia disk tables, and also identify ways to detect
overload conditions. The 'mnesia overloaded' event is one such
indicator that might be of use.

Ulf W

Brian Acton wrote:
> Overall, my expectation would be that I would not have to govern mnesia for
> load (as Paul M recommends in his prior post to this thread). The reason is
> that the range of activity in some applications can be quite dynamic and it
> would be hard to identify one key characteristic that would cause mnesia to
> tip over. Instead, my expectation would be that mnesia would return service
> failures akin to the EBUSY / EAGAIN errno of unix kernels, thus allowing
> applications to decide on what to do.
> For completeness sake, I've included the top part of the output from
> mnesia_lib:vcore/1 in case anyone is curious.
> --b
> ***** Mnesia core: ""
> *****
> ***** crashinfo *****
> mnesia_recover crashed: {system_limit,
>                             [{ets,new,
>                                  [mnesia_transient_decision,
>                                   [{keypos,2},set,public]]},
 > [...]

Ulf Wiger
CTO, Erlang Solutions Ltd, formerly Erlang Training & Consulting Ltd



Since January 1st 2010 Erlang Training and Consulting Ltd. has become ERLANG SOLUTIONS LTD.


More information about the erlang-questions mailing list