システムの動作をすべてトレースする場合 (たとえば、ビジーサーバー上など) には、「トレースの有効と無効」に進んでください。これは、カーネルトレースの最も一般的な使い方であり、また、通常は最も有用な使い方です。
ただし、選択したプロセスに関するトレースデータの生成を制限するオプションも用意されています。このオプションを使用すると、収集して分析しなければならないデータの量を減らすことができます。
prex では、2 つの抽出条件によって、プロセスのフィルタリングを実現しています。
プロセスのフィルタセットは、トレースを有効にするプロセスのプロセス識別子 (PID) のリストです。このフィルタセットに含まれていないプロセス (に属するスレッド) は、トレースデータの書き込みを行いません。デフォルトのフィルタセットは空です。
プロセスのフィルタモードは、カーネルにおけるプロセスのフィルタリングの有効/無効を選択するための広域フラグです。デフォルトでは、プロセスのフィルタリングは無効にされています。つまり、すべてのプロセス (とスレッド) がトレース記録を書き込みます。フィルタリングを有効にすると、フィルタセット内のプロセス (に属するスレッド) だけがトレース記録を書き込みます。
プロセスのフィルタリングを制御するには、prex pfilter コマンドを使用します。
prex> pfilter # フィルタリングは行われているか? Process filtering is off Process filter set is empty. prex> pfilter add 408 # PID 408 をフィルタセットに追加 prex> pfilter Process filtering is off Process filter set is {408} prex> pfilter on # プロセスのフィルタリングを有効にする prex>
システムスレッド (割り込みスレッドなど) は、プロセス 0 に属するスレッドとして扱われます。