加载中...

上下文切换指 CPU 从一个进程或线程切换到另一个时,内核保存当前任务的寄存器、程序计数器、栈指针等运行现场,并载入下一个任务现场的过程。
常见触发原因包括:时间片耗尽引发的调度、任务主动阻塞(如等待 I/O 或锁)、更高优先级任务抢占、以及中断处理后调度器重新选择任务。
切换本身涉及保存与恢复寄存器、切换内核栈与页表;进程间切换还会导致 TLB 与 CPU 缓存失效,这部分间接开销往往大于直接开销。线程间切换因共享地址空间而相对便宜。
高并发系统常通过减少线程数量、使用事件驱动或协程模型、绑定 CPU 亲和性等手段降低切换频率。vmstat、pidstat 等工具可观测系统的上下文切换次数。

登录 后参与讨论
暂无讨论,来发表第一条评论吧