ktrace.1
KTRACE(1)
KTRACE(1)
FreeBSD General Commands Manual
KTRACE(1)
ktrace
—
启用内核进程跟踪
ktrace
[-aCcdi
] [-f
trfile] [-g
pgrp | -p
pid] [-t
trstr] ktrace
[-adi
] [-f
trfile] [-t
trstr] command
ktrace
实用程序为指定进程启用内核跟踪日志记录。 内核跟踪数据记录到文件 ktrace.out 。 跟踪的内核操作包括系统调用、名称转换、信号处理和 I/O 。
在进程上启用跟踪后,将记录跟踪数据,直到进程退出或跟踪点被清除。 一个被追踪的进程可以快速生成海量的日志数据;强烈建议用户在尝试跟踪进程之前记住如何禁用跟踪。 以下命令足以禁用对所有用户拥有的进程的跟踪,如果由 root 执行,所有进程:
$ ktrace -C
跟踪文件不是人类可读的;使用 kdump(1) 对其进行解码。
该实用程序只能与使用内核配置文件中的 “KTRACE” 选项构建的内核一起使用。
选项包括:
追加到跟踪文件而不是重新创建它。
禁用对所有用户拥有的进程的跟踪,如果由 root 执行,则禁用系统中的所有进程。
清除与给定文件或进程关联的指定跟踪点。
后人; 对指定进程的所有当前子进程执行操作。 另请参见 -i
选项。
-f
trfile
将跟踪记录记录到 trfile 而不是 ktrace.out 。
-g
pgid
对进程组中的所有进程启用(禁用)跟踪(只允许使用一个 -g
标志)。
继承; 将跟踪标志传递给指定进程的所有未来子进程。 另请参见 -d
选项。
-p
pid
启用(禁用)对指定进程 ID 的跟踪(只允许一个 -p
标志)。
-t
trstr
指定要启用或禁用的跟踪点列表,每个字母一个。 如果未指定显式列表,则使用默认的跟踪点集。
支持以下跟踪点:
跟踪系统调用
跟踪页面错误
跟踪 I/O
追踪名字翻译
跟踪能力检查失败
跟踪信号处理
追踪各种结构
utrace(2) 生成的用户空间跟踪
上下文切换
跟踪 sysctl(3) 请求
跟踪默认跟踪点集 - c
, i
, n
, p
, s
, t
, u
, y
command
使用指定的跟踪标志执行 command 。
-p
, -g
, 和 command 选项是互斥的。
运行 "make", 然后跟踪它和任何子进程:
$ ktrace -i make
跟踪进程 id 34 的所有内核操作:
$ ktrace -p 34
跟踪进程组 15 中进程的所有内核操作,并将跟踪标志传递给所有当前和未来的子进程:
$ ktrace -idg 15
禁用进程 65 的所有跟踪:
$ ktrace -cp 65
禁用进程 70 和所有当前子进程上的跟踪信号:
$ ktrace -t s -cdp 70
在进程 67 上启用 I/O 跟踪:
$ ktrace -ti -p 67
禁用对文件 "tracedata" 的所有跟踪:
$ ktrace -c -f tracedata
禁用所有用户拥有的进程的跟踪:
$ ktrace -C
dtrace(1), kdump(1), truss(1), ktrace(2), utrace(2)
ktrace
命令出现在 4.4BSD 中。
仅当 trfile 是常规文件时才有效。
August 26, 2019
FreeBSD 13.1-RELEASE
最后更新于