R11B multiple processes starting
Ryan Rawson
ryanobjc@REDACTED
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 <erlangX@REDACTED> 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