[Re: R11B multiple processes starting]
Michael McDaniel
erlangX@REDACTED
Mon Jul 10 22:57:27 CEST 2006
Thank you for that explanation, Ryan. 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 <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
> >
> >
> >
> >
--
Michael McDaniel
Portland, Oregon, USA
http://autosys.us
+1 503 283 5284
More information about the erlang-questions
mailing list