[erlang-questions] erlang woes

2010/8/5, Joe Armstrong <>:
[...]
> I suspect this is an uncommon error - if it were common then you'd
> find more tools
> for detecting rogue processes in the standard libraries - their
> absence indicates that either this
> is not a common problem, or that it is a common problem, but resolving
> it it easy.
I've seen two tools that can be used to detect rogue processes. I also
have some one-liners on the local project Wikipage. So I'd go for the
second option: it's a common problem, but not that hard to resolve (or
at least to find the offending process - it's rather more complicated
to find out why it leaks and I guess it's too hard to write an
automated tool).
By the way, the one-liners (in case some of you find it useful):
Which process uses the most memory:
lists:reverse(lists:keysort(2,[{P, erlang:process_info(P, heap_size)}
|| P <- erlang:processes()])).
Which ets table uses the most memory:
lists:reverse(lists:keysort(2,[{T, ets:info(T, memory)} || T <- ets:all()])).