Debugging.ProcessTracing.txt   [plain text]


Process Tracing
===============

If a Dovecot's process hangs or is just really slow, the best way to debug it
is to see what it's really doing. Typically you'd be looking into imap or pop3
processes.

Linux
-----

---%<-------------------------------------------------------------------------
strace -tt -o log -p <process pid>
---%<-------------------------------------------------------------------------

BSDs, OS X <= 10.4
------------------

---%<-------------------------------------------------------------------------
# enable process tracing
ktrace -f log -p <process pid>
# do whatever makes it break, then stop the process tracing:
ktrace -C
# and see what it's done:
kdump -T -f log
---%<-------------------------------------------------------------------------

OS X >= 10.5
------------

---%<-------------------------------------------------------------------------
dtruss -p <process id>
---%<-------------------------------------------------------------------------

Solaris
-------

---%<-------------------------------------------------------------------------
truss -d -r0 -w1 -o log -p <process pid>
---%<-------------------------------------------------------------------------

'-r0' and '-w1' cause all IMAP input/output to be logged. '-d' adds timestamps
to the log.

(This file was created from the wiki on 2011-11-16 14:09)