where are the processes?
Rikard Johansson
rikard.johansson@REDACTED
Sat Apr 22 11:07:59 CEST 2006
Hi,
Note that there is a bug in the output from etop_txt, values are
printed on the wrong location, i.e. with wrong label.
The bug existed in at least R10B6.
This patch corrects the problem:
57,59c57,59
< io:fwrite(Fd,?SYSFORM,
[Config#opts.node,Clock,Cpu,Tot,NProcs,Procs,
< RQ,Atom,Bin,Code,Ets]),
< io:nl(Fd),
---
> io:fwrite(Fd,?SYSFORM, [Config#opts.node,Clock,
Cpu,Tot,Bin,NProcs,
> Procs,Code,RQ,Atom,Ets]),
> io:nl(Fd),
SYSFORM as defined in etop_defs.hrl:
-define(SYSFORM,
" ~-72w~10s~n"
" Load: cpu ~8w Memory: total ~8w binary
~8w~n"
" procs~8w processes~8w code
~8w~n"
" runq ~8w atom ~8w ets
~8w~n").
I have previously submitted this patch to erlang-patches, but I have
not seen if it has made it way into any of the later releases.
/Rikard
22 apr 2006 kl. 06.47 skrev Michael McDaniel:
>
> On Fri, Apr 21, 2006 at 03:58:17PM -0700, Michael McDaniel wrote:
>> SHORT: etop says 'procs 734506' and 'runq 15902' though I can't
>> find the processes
>>
>> LONG: ...
>>
>>
>> SYSTEM:
>>
>> yaws 1.56 compiled and running on R10B-10 on Linux
>>
>> Everything is started from yaws except for the process
>> that the 404 error handler sends messages to.
>>
>> one appmod sends/receives messages with a persistent process
>>
>> another persistent process does some file monitoring
>>
>> a special 404 error handler sends a message to another
>> persistent process (started independent of yaws).
>>
>>
>> I start yaws thusly:
>>
>> /bin/su root -c " /usr/local/bin/yaws -sname yaws_autosys -heart \
>> -pa /var/yaws/ebin -D -x \
>> -erlarg \"-config /var/yaws/ebin/sys.config\" \
>> "
>>
>> and contents of sys.config are
>>
>> [{mnesia, [{dir, "/var/yaws/Mnesia.yaws_autosys"}]}].
>>
>>
>>
>> Everything seems to work fine. This all runs on a remote machine.
>> I login to that machine via ssh and run the following:
>>
>>
>> I have been noticing that, when running etop as
>>
>> $ erl -sname etop -hidden -s etop -s erlang halt -output text \
>> -lines 27 -interval 33 -node 'yaws_autosys@REDACTED'
>>
>> I am seeing an increasing number of processes and also of
>> run queue processes, for example,
>>
>> =====================================================================
>> ===
>> yaws_autosys@REDACTED
>> 20:25:01
>>
>> Load: cpu 0 Memory: total 756842
>> binary 121
>> procs 734563 processes 0
>> code 543
>> runq 15736 atom 4626
>> ets 342
>>
>> ---------------------------------------------------------------------
>> ---
>>
>> When first starting, the procs is less than 1000, runq is zero or
>> single
>> digit count, and total memory is less than ten megabytes. binary,
>> code,
>> ets, atom stay about the same.
>>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> correction:
>
> should be "When first starting ... runq is under one hundred ..."
>
> ~M
>
>
>>
>> Now, when I remote shell as follows,
>>
>> $ erl -sname fu -remsh yaws_autosys@REDACTED
>> Erlang (BEAM) emulator version 5.4.13 [hipe]
>>
>> Eshell V5.4.13 (abort with ^G)
>> (yaws_autosys@REDACTED)1> erlang:statistics(run_queue).
>> 0
>> (yaws_autosys@REDACTED)2>
>> User switch command
>> --> q
>> $
>>
>> The zero processes from erlang:statistics/1 has me confused
>> compared to
>> what I am seeing using erlang:statistics/1 and what etop is
>> showing me.
>>
>> I am concerned about all these processes I can't find and the
>> large runq
>> shown by etop.
>>
>> I can do etop:config(lines, 300) there are less than 300 processes
>> listed;
>> same for i() from the remote shell.
>>
>>
>>
>> QUESTIONS:
>>
>> 1) what are the two different run queues from erlang:statistics/1
>> and the runq shown by etop?
>>
>> 2) how can I see (via some text mode tool) what the actual processes
>> and processes in the runq that etop says exist ?
>>
>>
>> thanks,
>>
>> ~Michael
>
> --
> Michael McDaniel
> Portland, Oregon, USA
> http://autosys.us
> +1 503 283 5284
>
More information about the erlang-questions
mailing list