[erlang-questions] Is mnesia/erlang/ETP strong enough?

Ulf Wiger <>
Wed Feb 11 22:53:32 CET 2009


If the erlang VM gets an OutOfMemoryException, it will terminate.

If both Erlang and C# get an OOM exception at around 1.3G,
perhaps you should review your settings in Windows 2003?

I've not used Windows Server 2003, but it has a lot of weird
stuff like application recycling etc, in order to protect itself against
runaway processes.

http://www.ironspeed.com/Designer/5.2.1/WebHelp/Part_II/Windows_2003_Application_Performance_Suggestions.htm

Perhaps you have some system settings limiting the available
memory for the application?

BR,
Ulf W

2009/2/11 Yang Zhang <>:
> After 2 weeks programming and running with erlang program, I got lots
> of memory error and erl crashed more than 50 times.
>
> I was trying to run 400 processes + mnesia on one node. The 400
> processes was designed to scrape data from web then save them to
> mnesia database.
> At first, after about 2 or 3 hours running, I found erl crashed(not
> program). Then I restart then 2 or 3 hours erl crashed again.
> I found the erl process consume about 1.3G memory then it crashed, I
> start to wonder if there are some things wrong with too many
> processes. So I minus to 200 processes and  split them to 10 nodes,
> with run 20 processes and the main one running mnesia database.
>
> Things went well untill 2 days later, I found the main erl node
> crashed again. After restart it, after 1 or 2 minutes it crashed
> again. Eventually I found it is the table type's problem, so I changed
> data type from disc_* to disc_only. Then problem solved.
>
> Then it keeps running for 4 days, everything goes well until I want to
> check how many data I have. So I open table viewer:
> tv:start().
> The see there are 6M records in my table, quite happy. Then
> double-click, both node crashed. Sign~~
>
> I got clever. Now I never opened that table. I choose a small one
> which only have 120K records. Open it. No crash. Safty. The search for
> some words, only 2K. OK. No crash. Then search for another one, the
> number is climbing, when it hits 4K. oh My god. Both nodes crash again
> only show me the ugly
>
> Crash dump was written to: erl_crash.dump
> eheap_alloc: Cannot allocate 373662860 bytes of memory (of type "heap").
>
>
> damm~~~
>
> I am using C#/SqlServer to develop program. I haven't seen anytime
> sqlserver open a table with 6M table will crash itself, I even tried
> to open a 50M records table.
> Why erl system so volunerable?
>
> Is crash the better way than only ternimate the problem process? Don't know why.
>
> Also I have fell in love with erlang, but its so unstable behavior
> make it far away from my commerial program.
>
> Any option?
>
>
> http://harbork.com/Is-mnesia-erlang-ETP-strong-enough/Is-mnesia-erlang-ETP-strong-enough-4b4vyEV84t2fjviIJHLw.html
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list