首页/系统/Linux 内核与性能调优速查/上下文切换开销与观测
本包目录(357 条)
sysctl 内核参数72 条
CPU 与调度60 条
内存与 OOM58 条磁盘与 IO32 条网络栈调优98 条性能分析工具37 条

上下文切换开销与观测

任务切换需要保存/恢复寄存器与栈并损失缓存局部性;切换量远超业务规模时通常是锁竞争或调度异常的信号。

观测点/proc/stat ctxt、vmstat cs、pidstat -w
类型自愿(等锁/等 I/O)与非自愿(被抢占)
参考量级数万到数十万次/秒在多种负载下可正常

观测

观测
vmstat 1 3
pidstat -w 1 3
grep ctxt /proc/stat
区分自愿与非自愿是定位关键:前者等资源,后者说明运行队列竞争激烈。

易错点

  • 只看 cs 总量不够:结合 pidstat -w 找出高切换进程与 vmstat r 队列长度
  • 高切换的进程往往有阻塞式锁或忙等逻辑,根因在应用而非内核参数

数据来源与参考

  • Linux 内核 Documentation/scheduler/
  • man 1 pidstat
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌