Интернет магазин китайских планшетных компьютеров



Компьютеры - DTrace - Примеры использования

13 мая 2011


Оглавление:
1. DTrace
2. Примеры использования
3. Примерные аналоги



Скрипты DTrace могут быть запущены из командной строки, используя один или более датчиков в качестве аргументов. Примеры:

# New processes with arguments,
dtrace -n 'proc:::exec-success { trace; }'

# Files opened by process,
dtrace -n 'syscall::open*:entry { printf); }'

# Syscall count by program,
dtrace -n 'syscall:::entry { @num = count; }'

# Syscall count by syscall,
dtrace -n 'syscall:::entry { @num = count; }'

# Syscall count by process,
dtrace -n 'syscall:::entry { @num = count; }'

# Disk size by process,
dtrace -n 'io:::start { printf; }'   

# Pages paged in by process,
dtrace -n 'vminfo:::pgpgin { @pg = sum; }'

Поддерживаемые платформы

DTrace был представлен в ноябре 2003 года и был официально выпущен как часть операционной системы Solaris 10 в январе 2005-го. DTrace был первым компонентом проекта OpenSolaris, исходный код которого стал доступен под лицензией Common Development and Distribution License.

DTrace был портирован в FreeBSD в качестве замены ktrace.

Apple добавила поддержку DTrace в Mac OS X 10.5 «Leopard», включая графическую программу Instruments. В отличие от других платформ, в Mac OS X существует флаг, установка которого делает невозможным трассировку процессов такими средствами как DTrace или gdb. Изначально это создавало проблемы, так как в результате применения этого флага не могла тестироваться другая системная информация. Эта проблема была решена через несколько месяцев в обновлении Mac OS X 10.5.3.

Поддержка DTrace также разрабатывается для QNX 6.

Из-за лицензии CDDL, несовместимой с GPL, портирование в Linux невозможно. Для линукса разрабатывается утилита с близкой функциональностью под названием SystemTap на основе механизма инструментирования kprobes.



Просмотров: 2478


<<< Фьютекс
Service Management Facility >>>