Erlang Mailing Lists

Author Message

<  Erlang questions mailing list  ~  Mnesia Questions ...

dineshv at email.msn.com
Posted: Tue May 18, 1999 10:38 am Reply with quote
Guest
I'm from an Oracle background and find Mnesia facinating ... Some questions: ...
klacke at bluetail.com
Posted: Tue May 18, 1999 9:48 pm Reply with quote
Guest
> I'm from an Oracle background and find Mnesia facinating ... Some =
> questions: ...
>
> i How much memory does Mnesia take?


It's cool isn't it. Anyway, the memory consumption
of mnesia is easily measured, just creat a bunch of tables, populate
them, use the info functions in mnesia to see.

The only situation where mnesia sucks from a memory consumption
perspective is the area of very large transactions.

That is a transaction that writes very large amounts of data, particularly
if the target tables are replicated.

Apart from that, the memory requirement of mnesia are very low.

Cheers

/klacke


Post generated using Mail2Forum (http://m2f.sourceforge.net)
hakan at erix.ericsson.se
Posted: Fri May 21, 1999 12:28 pm Reply with quote
Guest
On Tue, 18 May 1999, Claes Wikstrom wrote:

klacke>It's cool isn't it. Anyway, the memory consumption
klacke>of mnesia is easily measured, just creat a bunch of tables, populate
klacke>them, use the info functions in mnesia to see.

The info functions in Mnesia does not give the whole picture.
Currently you will only get the memory consumption of the main tables
and not the size of Mnesia's internal processes, indecies,
snmp-structures, checkpoints etc.

Of course it is possible to measure the total memory consumption of
Mnesia, but it is a little bit complicated. Measuring the size of
thethe entire Erlang emulator process is a rough method but it easy to
perform it.

klacke>The only situation where mnesia sucks from a memory consumption
klacke>perspective is the area of very large transactions.
klacke>
klacke>That is a transaction that writes very large amounts of data, particularly
klacke>if the target tables are replicated.

One thing that may be worth to point out, is that many users relies on
Mnesia's ability to automatically acquire locks. This works well in
most cases, but if you in one transaction are accessing lots of
records in the same table both performance and memory consumption will
benifit a lot by explicit acquisition of table locks. If the
transcation is nested the benefit will even be greater.

/H
ulf.wiger at etxb.ericsso
Posted: Sat May 22, 1999 4:55 pm Reply with quote
Guest
Hakan Mattsson wrote:
>
> Measuring the size of
> thethe entire Erlang emulator process is a rough method but it easy to
> perform it.

Ah, but remember that what you will get then is roughly the all-time
high, at least on Solaris.

On Solaris, you will never see the Erlang emulator shrink, and the
reported memory consumption will most likely reflect how much was needed
during some transient work.

Here's one way to get a feeling for how much memory is actually being
used:

1> io:format("~s~n", [binary_to_list(erlang:info(info))]).
--------------------------------------------------
Hash Table(atom_tab), size(2411), used(1720), objs(2974), depth(7)
Index Table(atom_tab), size(3000), limit(65536), used(2974), rate(100)
Atom space 27736/32772
Hash Table(module_code), size(47), used(37), objs(64), depth(4)
Index Table(module_code), size(70), limit(65536), used(64), rate(10)
Hash Table(export_list), size(1201), used(862), objs(1474), depth(6)
Index Table(export_list), size(1500), limit(65536), used(1474),
rate(100)
Hash Table(process_reg), size(23), used(14), objs(1Cool, depth(3)
Allocated binary 108361
Allocated by process_desc 11200
Allocated by proc_bin_desc 400
Allocated by table_desc 1120
Allocated by link_desc 2000
Allocated by atom_desc 59600
Allocated by export_desc 53280
Allocated by module_desc 2560
Allocated by preg_desc 320
--------------------------------------------------

/Uffe
--
Ulf Wiger, Chief Designer AXD 301 <ulf.wiger_at_etxb.ericsson.se>
Ericsson Telecom AB tfn: +46 8 719 81 95
Varuv

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum