[erlang-questions] running out of memory trying to add_frag on a large mnesia table
Marc Sugiyama
marcsugiyama@REDACTED
Wed Nov 5 01:04:31 CET 2008
I have a large, fragmented mnesia table. I'm trying to add more
fragments to it (see below). When I do:
mnesia:change_table_frag(pvobject, {add_frag, [node()]).
erl dies trying to allocate memory. top showed beam.smp using 2gb
shortly before the memory allocation failure. I'm looking for some
ideas about how I can refragment this table. My goal is to reduce the
size of each fragment, but I'll be keeping all the fragments on the
one machine.
Thanks.
Marc
pvobject : with 2247463 records occupying 1030593978 bytes on disc
pvobject_frag9 : with 2244007 records occupying 996368400 bytes on disc
pvobject_frag8 : with 4384060 records occupying 1944822252 bytes on disc
pvobject_frag7 : with 4378299 records occupying 1943621636 bytes on disc
pvobject_frag6 : with 4388504 records occupying 1944472080 bytes on disc
pvobject_frag5 : with 4375236 records occupying 1942309152 bytes on disc
pvobject_frag4 : with 4372202 records occupying 1943407648 bytes on disc
pvobject_frag3 : with 4387990 records occupying 1944152852 bytes on disc
pvobject_frag2 : with 2246356 records occupying 1030532870 bytes on disc
schema : with 11 records occupying 1651 words of mem
pvobject_frag10: with 2246679 records occupying 1030323718 bytes on disc
===> System info in version "4.4.3", debug level = none <===
opt_disc. Directory "/var/home/pvadmin/mnesia" is used.
use fallback at restart = false
running db nodes = [pvstorage@REDACTED]
stopped db nodes = []
master node tables = []
remote = []
ram_copies = []
disc_copies = [schema]
disc_only_copies = [pvobject,pvobject_frag10,pvobject_frag2,pvobject_frag3,
pvobject_frag4,pvobject_frag5,pvobject_frag6,
pvobject_frag7,pvobject_frag8,pvobject_frag9]
[{pvstorage@REDACTED,disc_copies}] = [schema]
[{pvstorage@REDACTED,disc_only_copies}] = [pvobject_frag10,pvobject_frag2,
pvobject_frag3,pvobject_frag4,
pvobject_frag5,pvobject_frag6,
pvobject_frag7,pvobject_frag8,
pvobject_frag9,pvobject]
2 transactions committed, 0 aborted, 0 restarted, 0 logged to disc
0 held locks, 0 in queue; 0 local transactions, 0 remote
0 transactions waits for other nodes: []
ok
More information about the erlang-questions
mailing list