[erlang-questions] error_logger heap overflow

Bogdan Andu bog09@REDACTED
Tue Nov 20 12:28:57 CET 2012


I used that, lager, but it is hard to read error messages, and the errors are duplicated across all log files.

One cannot say to lager: commit notice messages to /var/log/notice_log, because all error messages with higher prority get written there, too.


I like how error_logger prints the errors and I am used to it.

Please give me an advice of how to overcome this situation.



----- Original Message -----
From: Gleb Peregud <gleber.p@REDACTED>
To: Bogdan Andu <bog09@REDACTED>
Cc: "erlang-questions@REDACTED" <erlang-questions@REDACTED>
Sent: Tuesday, November 20, 2012 11:58 AM
Subject: Re: [erlang-questions] error_logger heap overflow

To cope with error_logger use lager or riak_err

SSL used to have some "session leaking" bug some time ago, but I
believe it was fixed. Others may have more information on this

On Tue, Nov 20, 2012 at 10:47 AM, Bogdan Andu <bog09@REDACTED> wrote:
> Hello,
>
> I have a concurent server that handles ssl conections. I saw that if there are aprox. 20 parallel connections to the server running for about 1 day, the virtual machine dies with the following message:
>
> Slogan: eheap_alloc: Cannot allocate 2850821240 bytes of memory (of type "heap").
> System version: Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
>
> ......
>
> I have two questions:
>
>
> 1)
> Process Information
>
>
> Pid
> Name/Spawned as
> State
> Reductions
> Stack+heap
> MsgQ Length
> <0.5.0> error_logger Garbing
> (limited info) 129146284187 356352655 323792
>
>
> 356352655*8 = 2850821240, exactly the value from "Cannot allocate 2850821240 bytes of memory" message.
>
> The error_logger process accumulates a high number of pending messages in the message queue, resulting in heap exhaustion.
>
> The amount and size of the log messages sent to error_logger are normal normal.
>
> How can I make error_logger to process messages faster and to avoid heap overflow error.
>
>
> 2)
> Another question is this:
>
> I observed that the ets table ssl_otp_session_cache get large although the client is the same:
>
> =ets:<0.70.0>
> Slot: 23
> Table: 28695
> Name: ssl_otp_session_cache
> Buckets: 6224
> Objects: 41912
> Words: 2058733
>
> (2058733*8)/(1024*1024) =~ 15 MBytes
>
> Altough I know the cache entries expire after 24 hours how can I decrease this timeout to 1 hour, for example?
>
> Or how can I disable the ssl caching altogether?
>
> Thank you,
>
> Bogdan
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions




More information about the erlang-questions mailing list