<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi ... !!!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Environment Summary:</FONT></DIV>
<DIV><FONT face=Arial size=2>4GB HP Server</FONT></DIV>
<DIV><FONT face=Arial size=2>Running Mnesia Fragmented Table (Exactly the
Same Copy) on 2 nodes. They are working independently to each
other.</FONT></DIV>
<DIV><FONT face=Arial size=2> Node 1: Running the actual db
with 375459 records (started with +A255)</FONT></DIV>
<DIV>
<DIV><FONT face=Arial size=2> Node 2: Using for load testing
etc. (started with +A255)</FONT></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Problem:</FONT></DIV>
<DIV><FONT face=Arial size=2>Node2 Crashed when started to add
records (Very Small amount of records ~100000 ... mmmm not sure but Very
Less). There are plenty of memory available in the system when node 2 crashed
(Note the total used memory as crash_dump 512Mb)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>crash_dump:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Slogan: eheap_alloc: Cannot allocate 1271244 bytes
of memory (of type "old_heap").<BR>System version: Erlang (BEAM) emulator
version 5.4.12 [source] [hipe] [threads:255]<BR>Compiled: Mon Jan 16 14:59:19
2006<BR>Atoms: 10435<BR>=memory<BR>total: 512729384<BR>processes:
15884970<BR>processes_used: 15868210<BR>system: 496844414<BR>atom:
464421<BR>atom_used: 459809<BR>binary: 351077627<BR>code: 3989398<BR>ets:
140681800</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>My Solution:</FONT></DIV>
<DIV><FONT face=Arial size=2>When I restarted the Node 2 with +A64 it
adds up to 2220000 records</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Questions:</FONT></DIV>
<DIV><FONT face=Arial size=2>Q1.) Are there any dependencies with 2 nodes
started with +A255 ? Why it works when the second node started with +A64
?</FONT></DIV>
<DIV><FONT face=Arial size=2>Q2.) What is the best way to optimize the processes
used by each node? I mean putting +A32 will work, but reduce the
performance OR putting +A192 will also work but it uses more processes
than it needs. So how to tune up the applications to get the resources as there
need?</FONT></DIV>
<DIV><FONT face=Arial size=2>Q3.) What is the "old_heap" ??? And When & Why
it uses??</FONT></DIV>
<DIV><FONT face=Arial size=2>Q4.) What is the eheap and when & how it used
?</FONT></DIV>
<DIV><FONT face=Arial size=2>Q5.) Are there any relation between c
malloc and erlang eheap_alloc ?</FONT></DIV>
<DIV><FONT face=Arial size=2>Q6.) How to get the details of available/used
number of processes in erlang?</FONT></DIV>
<DIV><FONT face=Arial size=2>Q7.) How the total number of erlang
processes depends with the OS ??</FONT></DIV>
<DIV><FONT face=Arial size=2>Q8.) How to get the details of Linux resources
which erlang depends on?? (Ex System Processes, Threads .. etc)</FONT></DIV>
<DIV><FONT face=Arial size=2>Q9.) What is the maximum number of processes can be
used in a single erlang system.</FONT></DIV>
<DIV><FONT face=Arial size=2>Q10.) If we started several erlang nodes/systems
are there any shared resources among them. If yes, how to get the details
of them?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thanks in advance.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Sanjaya Vitharana</FONT></DIV></BODY></HTML>