2011-12-13 9 views
0

プロセスのコンテキストスイッチを監視し、スイッチを引き起こす特定のカーネルデーモンなどのコンテキストスイッチの理由を調べる必要があります。私は関連記事を見ましたが、私は答えが満足できるものではないと思いました。私はpidstatを試しましたが、コンテキストスイッチの数だけを示しています。私は、必要がない限り、プロファイリングツールのためにカーネルを再コンパイルせずにこれを行いたいと思います。助けてください。Linux上のプロセスのコンテキストスイッチのトレース

+0

...、スイッチングされる、すなわち、いくつかのプロセスに、どこかに行くべき? –

答えて

0

私はそれが本当に意味をなさないと思います。 context switchesは、カーネルの中で起こっています。 "プロセス内"ではありません。彼らはいくつかのプロセスに影響しています。そしてそれらのほとんどはカーネルタスクに関連していません。それらはスケジューラの "ほぼ内部"で発生します。ほとんどのコンテクストスイッチは、jiffiesに関連している。ランニングタスクは、小さな量子時間(例えば、20ミリ秒)の後に再スケジューリングされる。

そして、それぞれのトレースされたコンテキスト・スイッチに関する情報は、コンテキストは、なぜあなたが求めている

+0

タイム・クォンタムが切れるとコンテキスト・スイッチが発生することを理解しています。しかし、他にも理由があります。私はそのようなコンテクストスイッチが、jiffiesやそれ以上の優先度の高いプロセスがスケジュールされているかどうかにかかわらず、すべて監視したいと思っています。 – vjain27

+0

おそらく 'oprofile'が関連している可能性があります。 –

関連する問題