[erlang-questions] Why Beam.smp crashes when memory is over?
Wed Nov 11 01:29:23 CET 2009
On Nov 11, 2009, at 11:26 AM, Ulf Wiger wrote:
> Richard O'Keefe wrote:
>> I am not denying the *need* for limits. (Anyone else remember
>> in Scheme?) I've had enough functions in enough languages go into
>> infinite recursion that I can see the point of stopping them.
>> However, Ulf Wiger has not addressed these points:
>> - if the tagging scheme is changed (and it has in the past),
>> memory requirements may change.
> > ...
> Perhaps I'm colored by having worked on systems where every
> product release was preceded with months of relatively
> thorough testing, where monitoring memory usage during
> important operating conditions was routine.
Let's see if we can reach consensus here.
Ulf, I'm *not* saying that you can't do what you DID do.
That would be rude and stupid.
What I'm saying is that you have to *KEEP* doing it,
as indeed you did ("every product release"), and that
you have to keep doing it even if YOUR code didn't
change at all.
How you do that thorough testing is something that needs
to be written up clearly in some new Erlang book, which
I wish you would write. I would certainly buy it.
> A near-trivial case where memory requirements indeed will
> change is if one switches from 32-bit to 64-bit Erlang.
> This can cause memory usage in many Erlang applications to
> roughly double (depending on how much binaries are used).
I thought I already said that.
This whole thread is rather interesting because it shows up
the difference between *language* issues and *system* issues.
There have, for example, been some interesting changes to
the Java *language* over the years, but for many purposes
the instrumentation interfaces and things like MX Beans
are much more important.
Erlang *has* monitoring tools, but I don't think they are
anywhere near as well understood by many Erlang programmers
as they should be, including me. I'm serious about the book!
More information about the erlang-questions