erlang:processes() will give you the list of pids. The function self()
just returns the current pid, so you can call erlang:process_info(pid,
memory) for any process. However you'd really need to know which pid
is causing the problem. I just thought the +d might provide a
crash.dmp that might help determine if in fact the VM is blowing memory.
On Oct 6, 2009, at 5:51 PM, Glenn Rempe wrote:
Hi Bob,
I have the CouchDB running in interactive mode and I added the +d to a
copy of the couchdb startup script immediately after the 'erl' call.
I was wondering, is it possible, from within the erl shell to find
specific processes and manually issue the 'erlang:process_info (self
(), memory)' call from within the shell?
Of course that would presume I know which process to monitor. Which I
don't really (And doing a ctrl-C in the shell and choosing the (p)
options gives me a *huge* dump of info.)
G
On Tue, Oct 6, 2009 at 2:05 PM, Robert Dionne
<[email protected]> wrote:
sorry I was jumping in and hadn't read this entire thread yet. In
your
startup script look for the erlang command "erl ...." and add a +d
or prefix your script invocation with ERL_FLAGS=+d .....
I usually run out of trunk and would use a command like ERL_FLAGS=+d
./utils/run -i where the -i makes it interactive so one can
execute
commands in an erlang shell. To use process_info you'd need to know
where to
insert statements in the code and rebuild. So your best best for
now is to
try the other suggestions first.
If you're new to couchdb there's an IRC channel, #couchdb that
usually has a
few devs in there who can provide quicker turnaround on ideas, good
and bad
:)
Cheers,
Bob
On Oct 6, 2009, at 4:01 PM, Glenn Rempe wrote:
Thanks Robert. No I have not tried the +d option and I don't see
that
as one of the options on the 'couchdb' starter script. (Frankly I
don't know how to do that having only just begun to dabble in
Erlang.)
Can you give me more information on how I would provide that option
exactly?
Regarding the instrumentation. That sounds great. But again, I am
not familiar enough with the internals of the CouchDB code to know
just where I should put that. Is there someone that could help me
with that and we can create a custom build of CouchDB that I can
run?
Thanks for chiming into the conversation. Much appreciated.
Glenn
On Tue, Oct 6, 2009 at 12:48 PM, Robert Dionne
<[email protected]> wrote:
Internally you can put some erlang:process_info (self (), memory)
statements
in.
--
Glenn Rempe
email : [email protected]
voice : (415) 894-5366 or (415)-89G-LENN
twitter : @grempe
contact info : http://www.rempe.us/contact.html
pgp : http://www.rempe.us/gnupg.txt