Контекстное переключение нормально. Процесс присвоен кванты времени, если он заканчивается (или он приостановил вызванный потребностью ресурсов), что он должен сделать это, может позволить процессору пойти.
Это сказало для подсчета, сколько контекстного переключения сделаны (это становится stackoverflow.com ответы), это взяло бы внутреннее расписание ядра () команда для записи в таблицы процессов. Нет такой вещи при программировании собственного ядра, Вы сможете видеть, но это довольно трудно.
powertop
может сказать Вам, как часто процесс будит ЦП.
Try using
pidstat -wt
The 't' option shows the threads also. It might be a thread who is doing the context switches .
В более новой версии ядра
sudo perf record -e context-switches -a # record the events
# then ctrl+c
sudo perf report # inspect the result
Это даст вам точный результат о событиях переключения контекста.
И вы можете найти причину, вызвавшую переключение контекста, добавив "-g" "flags (читаемый результат определяется символьной информацией)
sudo perf record -e context-switches -a -g