[erlang-questions] error_logger and the perils of asynchronicity

Per Melin per.melin@REDACTED
Sat May 16 20:28:25 CEST 2009


Steve Davis:
> I'm not sure I understand your message:
>
> Doesn't the first case suggest that it _is_ the synchronous io:format/write
> in error_logger that's causing the backup?

That's three different things: synchronous (to the inbox) processing,
use of io:format (or io_lib:format) and writing to disk.

My points:
1) error_logger could be faster for some cases without being
synchronous for the caller.
2) Letting the message queue fill up in a process that is writing to
disk is a bad idea.
3) io_lib:format being slow is much less of an issue here, and
probably in most other cases that don't involve SASL error reports.

> Doeen't the second case (>20Mb messages) look suspiciously like there could
> be something like memory paging going on (i.e. something else entirely)?

I focused entirely on the memory usage in the second case and didn't
even consider that is was also slowish. That I do believe is due to
io_lib:format. But what can one expect when pretty-printing 400 MB?

> ...how much physical RAM does this laptop have? i.e. is the OS paging
> out the memory?

4 GB. No.



More information about the erlang-questions mailing list