R11B multiple processes starting

Ryan Rawson <>
Sat Jul 8 03:36:21 CEST 2006


All modern Linux distros have pthread libraries in /lib now if not
/usr/lib that are posix threads that are native.  Linux models those
threads as light weight processes - thus appear as multiple entries in
the process table.

R11B-0 included the SMP improvements, and also I think threading
improvements for lower level driver things.  Blocking IO and the like
I think.  Someone else can give a detailed view on that, but I believe
that is the high level.

-ryan

On 7/7/06, Michael McDaniel <> wrote:
> SHORT VERSION:
>
> After installing R11B-0, my application starts multiple OS processes
> where before it only started a single OS process.
> -----------
>
>
> LONG VERSION:
>
> I have just installed R11B-0 on one of my servers (formerly at R10B-8).
>
> $ uname -a
> Linux xq02 2.4.21-99-default #1 Wed Sep 24 13:30:51 UTC 2003 i686 i686 i386 GNU/Linux
>
>
> An application that I start thusly:
>
> $ /bin/su mmcdanie -c "cd /home/erl ; /usr/local/bin/erl -sname   \
>    ${HOST}_block -home /home/erl -setcookie fake -heart -detached \
>    -config /home/erl/sys.config  -s block start"
>
> is still working fine.  However, now when I start it, three OS
> processes are running rather than as with R10B-8 where only a
> single OS process would run when application started.
>
> $ ps xuaw | egrep block | egrep -v grep
> mmcdanie 14771  0.1  1.2 12964 6440 pts/1    S    15:59   0:00 /usr/local/lib/erlang/erts-5.5/bin/beam -- -root /usr/local/lib/erlang -progname erl -- -home /home/mmcdanie -sname xq02_block -home /home/erl -setcookie fake -heart -noshell -noinput -config /home/erl/sys.config -s block start
> mmcdanie 14774  0.0  1.2 12964 6440 pts/1    S    15:59   0:00 /usr/local/lib/erlang/erts-5.5/bin/beam -- -root /usr/local/lib/erlang -progname erl -- -home /home/mmcdanie -sname xq02_block -home /home/erl -setcookie fake -heart -noshell -noinput -config /home/erl/sys.config -s block start
> mmcdanie 14775  0.0  1.2 12964 6440 pts/1    S    15:59   0:00 /usr/local/lib/erlang/erts-5.5/bin/beam -- -root /usr/local/lib/erlang -progname erl -- -home /home/mmcdanie -sname xq02_block -home /home/erl -setcookie fake -heart -noshell -noinput -config /home/erl/sys.config -s block start
>
> (apologies for line wraps)
>
> I am not understanding why multiple OS processes are running now when
> I start the application.  I have changed nothing on the machine other
> than installing the new R11B-0  (and the way I did that was to move
> the old /usr/local/lib/erlang directory before doing the install, so
> the new /usr/local/lib/erlang is completely fresh, not an
> install-over-old).
>
> As I mention above, the application is working fine.
>
> The contents of /home/erl/sys.config are:
> [{mnesia, [{dir, "/home/erl/Mnesia.block"}  ,
> %%           {debug, trace}                   ,
>            {schema_location, disc}]}].
>
> and mnesia is getting updated just fine.
>
> I compiled *without* --enable-smp-support since the native POSIX threads
> library is not installed (it is not an SMP machine).
>
>
> Does anyone have any tips on how to figure out why multiple OS processes
> are now starting?  Or perhaps already knows the answer to the question?
>
> thanks,
>
> ~Michael
>
>
>
>



More information about the erlang-questions mailing list