<div><font face="georgia">I have found that tail recursive function is found in the logwriter process.</font></div>
<div><font face="georgia">I have fixed that and again ran that application.</font></div>
<div><font face="georgia">It again crashes after 4 hours.</font></div>
<div><font face="georgia">Some processes has very high message q length.</font></div>
<div><font face="georgia">The slogan of crash report is <em><strong>eheap_alloc: Cannot allocate <font face="verdana">373664380</font> bytes of memory (of type "old_heap"). </strong></em></font></div>
<div><font face="georgia">Is there any settings available to solve this problem?</font></div>
<div><br><br> </div>
<div><span class="gmail_quote">On 10/26/06, <b class="gmail_sendername">Raimo Niskanen</b> <<a href="mailto:raimo+erlang-questions@erix.ericsson.se">raimo+erlang-questions@erix.ericsson.se</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">On Thu, Oct 26, 2006 at 02:51:22PM +0530, Surindar Sivanesan wrote:<br>> >From the crash dump viewer, I have noticed that the stack+heap size and
<br>> message queue lenght are high for some processes.<br>><br><br>If the message queue length is high for some processes that mostly<br>means that they do not read messages as they should. Message queue<br>lengths are mostly 1 or 0.
<br><br>The question is probably: what did they do instead of receive?<br>(Fill the heap!?) The stackdump (in the crashdump viewer) may tell.<br><br><br><br>> Pid <<a href="http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=pid">
http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=pid</a>><br>> Name/Spawned<br>> as<<a href="http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=name_func">http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=name_func
</a>><br>> State <<a href="http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=state">http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=state</a>><br>> Reductions<<a href="http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=reds">
http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=reds</a>><br>> Stack+heap<<a href="http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=mem">http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=mem
</a>><br>> *MsgQ<br>> Length<<a href="http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=msg_q_len">http://localhost:8888/cdv_erl/crashdump_viewer/sort_procs?sort=msg_q_len</a>><br>> *<br>> <
0.128.0><<a href="http://localhost:8888/cdv_erl/crashdump_viewer/proc_details?pid=">http://localhost:8888/cdv_erl/crashdump_viewer/proc_details?pid=</a><0.128.0>><br>> controling_process Waiting 162446666 10946 380465
<br>> <0.60.0><<a href="http://localhost:8888/cdv_erl/crashdump_viewer/proc_details?pid=">http://localhost:8888/cdv_erl/crashdump_viewer/proc_details?pid=</a><0.60.0>><br>> logwriter Garbing (limited info) 12549099 93416095 272345
<br>><br>> Here, the *logwriter* uses ODBC connectivity and write the log to MS SQL DB.<br>> All the other process in this application uses *logwriter *process to<br>> write log.<br>><br>> On 10/26/06, Raimo Niskanen <
<a href="mailto:raimo+erlang-questions@erix.ericsson.se">raimo+erlang-questions@erix.ericsson.se</a>> wrote:<br>> ><br>> >It seems your application has a process that is growing continously,<br>> >and after 15 hours its attemt to allocate a 356 MByte heap failed
<br>> >due to insufficient memory.<br>> ><br>> >Your total allocated memory is 1060 MByte of which roughly 356 MByte<br>> >should be the old heap of the offendng process, leaving 704 MByte<br>> >for the rest of the beam emulator. That is also a large emulator.
<br>> >Is your application deliberately using lots of memory?<br>> ><br>> >You can use the crashdump_viewer to inspect the crashdump and find out<br>> >more about the offending process. You can also use 'top' from another
<br>> >OS shell while your application runs to verify that the beam<br>> >emulator is growing continously and slowly, that being a fatal problem.<br>> ><br>> >The beam emulator's OS process ID can be found with os:getpid().
<br>> ><br>> >On Thu, Oct 26, 2006 at 11:39:13AM +0530, Surindar Sivanesan wrote:<br>> >> Dear all,<br>> >><br>> >> I'm using erlang emulator version 5.4.3 for running an application that
<br>> >has<br>> >> to be run round the clock.<br>> >> The application has ran perfectly for more than 15 hours.<br>> >> Then the erlang shell is terminated abnormally.<br>> >> The general information of the crash report is
<br>> >><br>> >> Slogan eheap_alloc: Cannot allocate 373664380 bytes of memory (of type<br>> >> "heap"). Node name 'nonode@nohost' Crashdump created on Thu Oct 26<br>> >08:48:46
<br>> >> 2006 System version Erlang (BEAM) emulator version 5.4.3 [threads:0]<br>> >> Compiled<br>> >> Wed Dec 15 12:59:41 2004 Memory allocated 1111921780 bytes Atoms 5644<br>> >> Processes
<br>> >> 716 ETS tables 76 Funs 370<br>> >><br>> >> Whether any latest erlang version can solve this problem?<br>> >> Is there any settings available to solve this problem?<br>> >> I'm running erlang using
werl.exe; Whether running erlang using<br>> >erl.exewill<br>> >> show any difference?<br>> >> Please clarify...<br>> >> Thanks in advance.<br>> >><br>> >> --<br>> >> with regards,
<br>> >> S.Surindar<br>> ><br>> >> _______________________________________________<br>> >> erlang-questions mailing list<br>> >> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org
</a><br>> >> <a href="http://www.erlang.org/mailman/listinfo/erlang-questions">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>> ><br>> ><br>> >--<br>> ><br>> >/ Raimo Niskanen, Erlang/OTP, Ericsson AB
<br>> ><br>><br>><br>><br>> --<br>> with regards,<br>> S.Surindar<br><br>> _______________________________________________<br>> erlang-questions mailing list<br>> <a href="mailto:erlang-questions@erlang.org">
erlang-questions@erlang.org</a><br>> <a href="http://www.erlang.org/mailman/listinfo/erlang-questions">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br><br><br>--<br><br>/ Raimo Niskanen, Erlang/OTP, Ericsson AB
<br></blockquote></div><br><br clear="all"><br>-- <br>with regards,<br>S.Surindar