Manpage of 'ktrace' on UHLU - BSD System Documentation,
Programming Reference, Manual Pages and Source Code
All manual pages         All RFC pages
Common page
for ktrace
Other pages
for ktrace
More pages
containing ktrace

Section 1 manual page or howto for 'ktrace'  

KTRACE(1)		FreeBSD General Commands Manual 	     KTRACE(1)

NAME
     ktrace -- enable kernel process tracing

SYNOPSIS
     ktrace [-aCcdi] [-f trfile] [-g pgrp | -p pid] [-t cnistuw]
     ktrace [-adi] [-f trfile] [-t cnistuw] command

DESCRIPTION
     The ktrace utility enables kernel trace logging for the specified pro-
     cesses.  Kernel trace data is logged to the file ktrace.out.  The kernel
     operations that are traced include system calls, namei translations, sig-
     nal processing, and I/O.

     Once tracing is enabled on a process, trace data will be logged until
     either the process exits or the trace point is cleared.  A traced process
     can generate enormous amounts of log data quickly; It is strongly sug-
     gested that users memorize how to disable tracing before attempting to
     trace a process.  The following command is sufficient to disable tracing
     on all user-owned processes, and, if executed by root, all processes:

	   $ ktrace -C

     The trace file is not human readable; use kdump(1) to decode it.

     The utility may be used only with a kernel that has been built with the
     ``KTRACE'' option in the kernel configuration file.

     The options are:

     -a      Append to the trace file instead of recreating it.

     -C      Disable tracing on all user-owned processes, and, if executed by
	     root, all processes in the system.

     -c      Clear the trace points associated with the specified file or pro-
	     cesses.

     -d      Descendants; perform the operation for all current children of
	     the designated processes.

     -f trfile
	     Log trace records to trfile instead of ktrace.out.

     -g pgid
	     Enable (disable) tracing on all processes in the process group
	     (only one -g flag is permitted).

     -i      Inherit; pass the trace flags to all future children of the des-
	     ignated processes.

     -p pid  Enable (disable) tracing on the indicated process id (only one -p
	     flag is permitted).

     -t cnistuw
	     The string argument represents the kernel trace points, one per
	     letter.  The following table equates the letters with the trace-
	     points:

	     c	   trace system calls
	     n	   trace namei translations
	     i	   trace I/O
	     s	   trace signal processing
	     t	   trace various structures
	     u	   userland traces
	     w	   context switches
	     y	   trace sysctl(3) requests
	     +	   trace the default set of trace points - c, n, i, s, t, u

     command
	     Execute command with the specified trace flags.

     The -p, -g, and command options are mutually exclusive.

EXAMPLES
     # trace all kernel operations of process id 34

	   $ ktrace -p 34

     # trace all kernel operations of processes in process group 15 and # pass
     the trace flags to all current and future children

	   $ ktrace -idg 15

     # disable all tracing of process 65

	   $ ktrace -cp 65

     # disable tracing signals on process 70 and all current children

	   $ ktrace -t s -cdp 70

     # enable tracing of I/O on process 67

	   $ ktrace -ti -p 67

     # run the command "w", tracing only system calls

	   $ ktrace -tc w

     # disable all tracing to the file "tracedata"

	   $ ktrace -c -f tracedata

     # disable tracing of all user-owned processes

	   $ ktrace -C

SEE ALSO
     kdump(1)

HISTORY
     The ktrace command appeared in 4.4BSD.

BUGS
     Only works if trfile is a regular file.

FreeBSD 7.2		       February 23, 2008		   FreeBSD 7.2

NAME - SYNOPSIS - DESCRIPTION - EXAMPLES - SEE ALSO - HISTORY - BUGS -  
All manual pages         All RFC pages
Common page
for ktrace
Other pages
for ktrace
More pages
containing ktrace
A random manual page         All manual pages        All RFC pages