R11B multiple processes starting

Michael McDaniel <>
Tue Jul 11 15:54:52 CEST 2006


   'Mystery' resolved, and thank you again!

~M

On Mon, Jul 10, 2006 at 03:54:49PM -0700, Ryan Rawson wrote:
> The way the OS handles threads changed from 2.4 to kernel 2.6.  No
> longer in 2.6 do you see multiple entries in the process table for
> threads.  It's now 'hidden' in one big process id, and there are
> thread ids.
> 
> -ryan
> 
> On 7/7/06, Michael McDaniel <> wrote:
> >Thank you for that explanation.  I do see
> >
> >$ ls /lib/*pthread*
> >/lib/libpthread.so.0
> >
> >$ ls /usr/lib/*pthread*
> >/usr/lib/libpthread.a  /usr/lib/libpthread_nonshared.a  
> >/usr/lib/libpthread.so
> >
> >on the original machine in which 'ps' shows multiple OS processes
> >(it has a 2.4 kernel with Pentium 4 processor)
> >
> >
> >New information is that on another machine (2.6 kernel with Celeron 
> >processor)
> >(again, R11B-0 compiled *without* --enable-smp-support)
> >
> >$ uname -a
> >Linux cougora 2.6.4-52-default #1 Wed Apr 7 02:08:30 UTC 2004 i686 i686 
> >i386 GNU/Linux
> >
> >$ ls /lib/*pthread*
> >/lib/libpthread.so.0
> >
> >$ ls /usr/lib/*pthread*
> >/usr/lib/libgcrypt-pthread.a   /usr/lib/libgcrypt-pthread.so.7      
> >/usr/lib/libpthread_nonshared.a
> >/usr/lib/libgcrypt-pthread.la  /usr/lib/libgcrypt-pthread.so.7.3.1  
> >/usr/lib/libpthread.so
> >/usr/lib/libgcrypt-pthread.so  /usr/lib/libpthread.a
> >
> >and, starting the same application in the same manner, it only shows
> >a single process.
> >
> >So, a new question is why might those machines be different?
> >
> >
> >
> >~~Michael
> >
> >
> >On Fri, Jul 07, 2006 at 06:36:21PM -0700, Ryan Rawson wrote:
> >> 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
> >> >
> >> >
> >> >
> >> >
> >
> >--
> >Michael McDaniel
> >Portland, Oregon, USA
> >http://autosys.us
> >+1 503 283 5284
> >

-- 
Michael McDaniel
Portland, Oregon, USA
http://autosys.us
+1 503 283 5284



More information about the erlang-questions mailing list