[root@localhost dtrace]# uname -r
4.1.12-61.1.18.el7uek.x86_64
[root@localhost dtrace]# cat /etc/oracle-release
Oracle Linux Server release 7.3
[root@localhost dtrace]# yum repolist
Loaded plugins: langpacks, ulninfo
repo id repo name status
ol7_UEKR4/x86_64 Latest Unbreakable Enterprise Kernel Release 4 for Oracle Linux 7 342
ol7_latest/x86_64 Oracle Linux 7Server Latest (x86_64) 18,951
repolist: 19,293
下载DTRACE工具
http://www.oracle.com/technetwork/server-storage/linux/downloads/linux-dtrace-2800968.html
安装DTRACE工具
yum install dtrace-utils-devel-0.6.0-3.el7.x86_64.rpm
yum install dtrace-utils-0.6.0-3.el7.x86_64.rpm
探针模块下载:
[root@localhost]# dtrace -l
[root@localhost]# cd /usr/lib/modules/4.1.12-61.1.18.el7uek.x86_64/kernel/drivers/dtrace/
[root@localhost dtrace]# ll
total 5972
-rw-r--r--. 1 root root 410012 Nov 5 2016 dt_perf.ko
-rw-r--r--. 1 root root 3647252 Nov 5 2016 dtrace.ko
-rw-r--r--. 1 root root 411964 Nov 5 2016 dt_test.ko
-rw-r--r--. 1 root root 431684 Nov 5 2016 fasttrap.ko
-rw-r--r--. 1 root root 370844 Nov 5 2016 profile.ko
-rw-r--r--. 1 root root 477668 Nov 5 2016 sdt.ko
-rw-r--r--. 1 root root 352132 Nov 5 2016 systrace.ko
使用前加载跟踪模块:
[root@localhost ~]# modprobe sdt
[root@localhost ~]# modprobe systrace
[root@localhost ~]# modprobe fasttrap
[root@localhost ~]# modprobe profile
[root@localhost ~]# lsmod |grep dtrace
dtrace 147456 4 sdt,fasttrap,systrace,profile
ctf 16384 1 dtrace
[root@localhost ~]# dtrace -l
[root@localhost ~]# dtrace -l -P io
ID PROVIDER MODULE FUNCTION NAME
358 io vmlinux end_bio_bh_io_sync done
359 io vmlinux __wait_on_buffer wait-start
360 io vmlinux __wait_on_buffer wait-done
363 io vmlinux _submit_bh start
[root@localhost ~]# dtrace -l -P proc
ID PROVIDER MODULE FUNCTION NAME
159 proc vmlinux do_fork lwp-create
160 proc vmlinux do_fork create
164 proc vmlinux do_exit lwp-exit
165 proc vmlinux do_exit exit
178 proc vmlinux __send_signal signal-send
179 proc vmlinux __send_signal signal-discard
181 proc vmlinux send_sigqueue signal-send
183 proc vmlinux get_signal signal-handle
185 proc vmlinux do_sigtimedwait signal-clear
206 proc vmlinux schedule_tail start
207 proc vmlinux schedule_tail lwp-start
333 proc vmlinux do_execveat_common exec-failure
334 proc vmlinux do_execveat_common exec
336 proc vmlinux do_execveat_common exec-success
[root@localhost ~]# dtrace -l -P sched
ID PROVIDER MODULE FUNCTION NAME
8 sched vmlinux __schedule off-cpu
10 sched vmlinux __schedule preempt
11 sched vmlinux __schedule sleep
12 sched vmlinux __schedule remain-cpu
13 sched vmlinux yield_to surrender
194 sched vmlinux enqueue_task enqueue
195 sched vmlinux dequeue_task dequeue
197 sched vmlinux finish_task_switch on-cpu
199 sched vmlinux set_user_nice change-pri
209 sched vmlinux sys_sched_yield surrender
211 sched vmlinux try_to_wake_up wakeup
247 sched vmlinux update_process_times tick