OSX Tools: dtrace

Kommentieren Oct 24 2011 .txt, .json, .md

DTrace is a performance analysis and troubleshooting tool that is included by default with various operating systems, including Solaris, Mac OS X and FreeBSD. A Linux port is in development.

Damit kann man eine Menge über das System erfahren und was denn gerade so alles aktiv ist.

Ein man -k dtrace gibt eine Liste aus, was es alles an Befehlen gibt:

bitesize.d(1m)           - analyse disk I/O size by process. Uses DTrace

cpuwalk.d(1m)            - Measure which CPUs a process runs on. Uses DTrace

creatbyproc.d(1m)        - snoop creat()s by process name. Uses DTrace

dappprof(1m)             - profile user and lib function usage. Uses DTrace

dapptrace(1m)            - trace user and library function usage. Uses DTrace

diskhits(1m)             - disk access by file offset. Uses DTrace

dispqlen.d(1m)           - dispatcher queue length by CPU. Uses DTrace

dtrace(1)                - generic front-end to the DTrace facility

dtruss(1m)               - process syscall details. Uses DTrace

errinfo(1m)              - print errno for syscall fails. Uses DTrace

execsnoop(1m)            - snoop new process execution. Uses DTrace

fddist(1m)               - file descriptor usage distributions. Uses DTrace

filebyproc.d(1m)         - snoop opens by process name. Uses DTrace

hotspot.d(1m)            - print disk event by location. Uses DTrace

httpdstat.d(1m)          - realtime httpd statistics. Uses DTrace

iofile.d(1m)             - I/O wait time by file and process. Uses DTrace

iofileb.d(1m)            - I/O bytes by file and process. Uses DTrace

iopattern(1m)            - print disk I/O pattern. Uses DTrace

iopending(1m)            - plot number of pending disk events. Uses DTrace

iosnoop(1m)              - snoop I/O events as they occur. Uses DTrace

iotop(1m)                - display top disk I/O events by process. Uses DTrace

kill.d(1m)               - snoop process signals as they occur. Uses DTrace

lastwords(1m)            - print syscalls before exit. Uses DTrace

loads.d(1m)              - print load averages. Uses DTrace

newproc.d(1m)            - snoop new processes. Uses DTrace

opensnoop(1m)            - snoop file opens as they occur. Uses DTrace

pathopens.d(1m)          - full pathnames opened ok count. Uses DTrace

pidpersec.d(1m)          - print new PIDs per sec. Uses DTrace

plockstat(1)             - front-end to DTrace to print statistics about POSIX mutexes and read/write locks

priclass.d(1m)           - priority distribution by scheduling class. Uses DTrace

pridist.d(1m)            - process priority distribution. Uses DTrace

procsystime(1m)          - analyse system call times. Uses DTrace

runocc.d(1m)             - run queue occupancy by CPU. Uses DTrace

rwbypid.d(1m)            - read/write calls by PID. Uses DTrace

rwbytype.d(1m)           - read/write bytes by vnode type. Uses DTrace

rwsnoop(1m)              - snoop read/write events. Uses DTrace

sampleproc(1m)           - sample processes on the CPUs. Uses DTrace

seeksize.d(1m)           - print disk event seek report. Uses DTrace

setuids.d(1m)            - snoop setuid calls as they occur. Uses DTrace

sigdist.d(1m)            - signal distribution by process. Uses DTrace

syscallbypid.d(1m)       - syscalls by process ID. Uses DTrace

syscallbyproc.d(1m)      - syscalls by process name. Uses DTrace

syscallbysysc.d(1m)      - syscalls by syscall. Uses DTrace

topsyscall(1m)           - top syscalls by syscall name. Uses DTrace

topsysproc(1m)           - top syscalls by process name. Uses DTrace

weblatency.d(1m)         - website latency statistics. Uses DTrace

Mehr Details und Beispiele gibt es hier.