[erlang-questions] minimizing the footprint of a running node

Joel Reymont <>
Thu Oct 30 20:19:48 CET 2008


I only have 3Gb of memory in my accelerator at Joyent and I'm trying  
to launch 10 nodes. beam starts with RSS of about 135Mb and quickly  
goes to 500Mb+.

How can I minimize the footprint of my running nodes?

I'm starting slaves like this:

common_args() ->
     "+K true +P 134217727 -smp disable".

start_slave_node(Name, Args) ->
     case slave:start_link(net_adm:localhost(), Name, Args) of
         {ok, Node} ->
             timer:sleep(1000),
             %%mnesia:add_table_copy(schema, Node, ram_copies),
             rpc:call(Node, mnesia, start, []),
             rpc:call(Node, mnesia, change_config, [extra_db_nodes,  
[node()]]),
             timer:sleep(1000),
             Node;
         Reason ->
             io:format("Failed to start slave node: ~p. Retrying in 1  
second.~n",
                       [Reason]),
             timer:sleep(1000),
             start_slave_node(Name, Args)
     end.

And here's the output from top:

load averages:  1.37,  2.75,  2.53;                    up 0+08:07:22    
19:16:41
64 processes: 63 sleeping, 1 on cpu
CPU states: 95.9% idle,  0.3% user,  3.8% kernel,  0.0% iowait,  0.0%  
swap
Memory: 32G phys mem, 3899M free mem, 76G total swap, 75G free swap

    PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND
   7710 admin      3   1    0  551M  536M sleep    0:01  0.04% beam
   7746 admin      1  59    0 5004K 2052K cpu/5    0:00  0.01% top
   7578 postfix    1  59    0 6728K 4624K sleep    0:00  0.00% smtpd
   7695 admin      3   1    0  547M  534M sleep    0:01  0.00% beam
   7665 admin      3  14    0  547M 2572K sleep    0:02  0.00% beam
   7638 admin      3   1    0  547M  329M sleep    0:01  0.00% beam
   7740 admin      3   1    0  551M  537M sleep    0:01  0.00% beam
   7607 admin      3   1    0  549M  536M sleep    0:07  0.00% beam
  19718 root      13  59    0 4100K 1532K sleep    0:02  0.00% syslogd
   7651 admin      3  19    0  547M  534M sleep    0:01  0.00% beam
   7680 admin      3   1    0  547M  534M sleep    0:01  0.00% beam
  19633 root      29  59    0 8748K 2552K sleep    0:00  0.00% nscd
   7724 admin      3   1    0  551M  537M sleep    0:01  0.00% beam
  19737 root       1  59    0   10M 2016K sleep    0:03  0.00%  
miniserv.pl
  19762 root       1  57    0 2760K 1176K sleep    0:00  0.00%  
authdaemond

	Thanks, Joel

--
wagerlabs.com








More information about the erlang-questions mailing list