読者です 読者をやめる 読者になる 読者になる

コンテキストスイッチの回数を調べる

linux

Starletのヘッダとボディを合わせて出力する閾値を変更してみる - Hateburo: kazeburo hatenablog


この手の記事の話でコンテキストスイッチについて出てくることが
あるけど、あまり数値が併記されているものがないように思えます。
その手のプロの人が言っているので、確かな情報だと思うのですが、
やはり数字を一緒に載せていただけるとより真実味が増すと思います。

プロセスのコンテキストスイッチ回数の確認方法(Linux)

procfsから確認することができます

% cat /proc/{目的のプロセスのPID}/status | grep ctxt
voluntary_ctxt_switches:	145031
nonvoluntary_ctxt_switches:	13452

自発的(voluntary)なコンテキストスイッチは、sched_yieldを呼び出した場合や
IO待ち等で発生したコンテキストスイッチを示します。非自発的(nonvoluntary)
コンテキストスイッチは走行時間を使い切ったとかより優先度が
高いプロセスをすぐに動かす必要がある場合等に発生したコンテキストスイッチ
示します。


ベンチマーク開始前と終了後の差分等を各パラメータで見て、
差が見られるかというのを確認するとよいかと思います。