explain

上下文切换与高 CPU

上下文切换是指 CPU 保存一个任务的状态并加载另一个任务的状态。适量切换是正常的,但过度切换会浪费 CPU 资源。

Evidence to look for

繁忙服务器上每秒上下文切换次数超过 50,000 次
CPU 占用率很高,但吞吐量停滞不前
减少线程数后性能得到改善

What it usually means

每次上下文切换都有开销:保存寄存器、刷新缓存、加载新状态。切换频率很高时,这些开销会变得非常显著。

What to do next

  1. 1减少线程或进程数量
  2. 2将关键线程绑定到特定 CPU 核心
  3. 3使用异步 IO 替代“每个连接一个线程”的模型

See what's causing your CPU

cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.

Open cpum.ai

Related

上下文切换与高 CPU:你需要了解的要点 | cpum.ai