アプリケーションの実行中にカーネルからページ フォールト統計を取得するにはどうすればよいですか? SMP ノードでの CPU 間の移行カウントやコンテキスト スイッチの数など、他のイベントはどうですか?
プログラムのさまざまな小さな部分について、そのようなイベントを数えたいと思います。
ありがとう。
アプリケーションの実行中にカーネルからページ フォールト統計を取得するにはどうすればよいですか? SMP ノードでの CPU 間の移行カウントやコンテキスト スイッチの数など、他のイベントはどうですか?
プログラムのさまざまな小さな部分について、そのようなイベントを数えたいと思います。
ありがとう。
procfsはその情報の一部を記録しますが、(私は信じています) すべてではなく、「さまざまな小さな部分」ではなく、プロセス全体についてのみ記録します。「さまざまな小さな部分の」コンテキストスイッチやページフォールトなど、カーネルがどこにでも記録しているとは思えません。おそらく、各「小さな部分」の最初と最後で該当する疑似ファイルのスナップショットを/proc
取り、違いを取ることができます-一部のアプリケーション(常にどの方向にも分岐しない)は、代わりに受け入れられる可能性があります。
カーネルに同梱されている「perf」ツールを使用したくなるでしょう。ここを参照してください。