2009年12月17日 星期四

FreeBSD上啟用 DTrace

FreeBSD 7.1 開始有提供 由 Solaris 移植來的 DTrace 動態追蹤功能

但預設是不起動的!
一使用

$ dtrace -l
dtrace: failed to initialize dtrace: DTrace device not available on system

會出現這樣的訊息!

要使用它必須重新 build kernel 安裝

首先修改 GENERIC or 您自己的 kernel 設定檔
將下列設定注解拿掉OR新增

$ ee /usr/src/sys/amd64/conf/GENERIC
options KDTRACE_HOOKS # all architectures
options KDTRACE_FRAME # amd64-only

$ cd /usr/obj/usr/src/sys/GENERIC/
$ make clean
$ cd /usr/src
$ make buildkernel WITH_CTF=1
$ make installkernel


ok後 reboot

再來
$ kldload dtraceall

這時就可以使用了


上述啟用方式由 FreeBSD 7.1 で DTrace を使う準備 得來

相關資料:
DTrace User Guide