[erlang-questions] memory leak.

Mihai Balea <>
Thu Apr 16 13:36:55 CEST 2009


On Apr 16, 2009, at 2:24 AM,  wrote:

> Hi dear Team,
>
> A problem appeared with the memory leak. Function "erlang:memory()"  
> shows
> that "total" parameter  grows constantly and fast, during the day it
> increases from 60 Mb till 510 Mb. "System" parameter also grows
> constantly, not as much fast, reaching 400 Mb.
> "process" parameter although does not reach 100 Mb. Top  FreeBSD  
> utility’s
> "size" parameter also increases from 70 Mb till 600 Mb.
> System crashes on "mem_error" of the module "zlib.erl" or on the error
> "system_limit" while creating new process
> {erlang,open_port,[{spawn,zlib_drv},[binary]]}. "yaws",  
> "error_logger" and
> some gen_server-s work on the computer. No database except "ets" is  
> used
> during the functioning, but the used memory doesn’t exceed 1 Mb.  
> Server
> receives messages each second.
> The memory releases after restarting erlang. Restarting individual
> gen_server-s gives nothing.
>
> What is the reason of appearing memory leak problem?

Chances are, a programming error on your part.

The fact that you're getting "system_limit" errors when creating new  
processes leads me to believe that you might not have a memory leak  
per se, but a process leak.  Meaning you are dynamically creating  
processes, but don't shut them down.

You can find the number of processes on your node using

length(processes()).

Try to see if this number increases constantly during operation.

Mihai


More information about the erlang-questions mailing list