KTRACE(1) FreeBSD 一般コマンドマニュアル KTRACE(1)
名称
ktrace − カーネルプロセスのトレースを行う |
書式
ktrace [−aCcdi] [−f trfile] [−g pgrp | −p pid] [−t trstr] |
ktrace [−adi] [−f trfile] [−t trstr] command |
解説 |
ktrace ユーティリティは、指定したプロセスのカーネルのトレースログをとりま す。カーネルトレース情報はファイル ktrace.out に記録されます。トレースさ れるカーネル動作には、システムコール、namei 変換、シグナル処理、 I/O 処理 が含まれます。 いったんプロセスのトレースを行うようにすると、トレースデータはプロセスが 終了するか、トレースポイントがクリアされるまで記録され続けます。トレース したプロセスは膨大な量のログを急速に作るため、ユーザはプロセスのトレース を行う前にトレースを取り消す方法を覚えておくことを強くお勧めします。ユー ザが実行している全てのプロセスのトレース動作を取り消すには、以下のコマン ドで十分です。このコマンドが root 権限で実行された場合には、全てのプロセ スに対してトレースの取消しが行われます。 |
$ ktrace -C |
トレースファイルはそのままでは読めませんので、 kdump(1) を使って解析して ください。 オプションとしては、以下のものがあります。 |
−a
既存のトレースファイルを再構築しないで、後ろに追加していきます。 −C −c −d −f trfile −g pgid −i −p pid −t trstr c command −p, −g, command は相互に排他的です。同時に利用することはできません。 使用例 |
# プロセス ID 34 のプロセスすべてのカーネル動作のトレースを行います。 |
$ ktrace -p 34 |
# プロセスグループ ID 15 のすべてのプロセスのカーネル動作のトレースを行 い、現在および未来の子プロセスすべてにトレースフラグを渡します。 |
$ ktrace -idg 15 |
# プロセス ID 65 のプロセスのすべてのトレースを取り消します。 |
$ ktrace -cp 65 |
# プロセス ID 70 のプロセスとそのすべての子プロセスの、シグナルに関するト レースを取り消します。 |
$ ktrace -t s -cdp 70 |
# プロセス ID 67 のプロセスの I/O に関するトレースを有効にします。 |
$ ktrace -ti -p 67 |
# コマンド "w" を実行し、システムコールのみのトレースを行います。 |
$ ktrace -tc w |
# "tracedata" ファイルに対するすべてのトレースを取り消します。 |
$ ktrace -c -f tracedata |
# ユーザが所有しているすべてのプロセスのトレースを取り消します。 |
$ ktrace -C |
関連項目
バグ
trfile が普通のファイルの場合だけ働きます。 |
歴史
ktrace コマンドは 4.4BSD から実装されました。 FreeBSD 10.0 June 6, 1993 FreeBSD 10.0 |