性能基础 - 上线文切换 - 自愿与非自愿

性能基础 - 上线文切换 - 自愿与非自愿

  • 原文地址:
  • 原文作者:
  • 本文永久链接:
特别说明

当前文章内容迁移中,如有问题,请提交 issues 谢谢 ~~

上下文切换,存在自愿切换与非自愿切换

首先,得来说说什么是上下文切换(Context Swith),简单来说就是CPU在干着活呢,被打断了,于是从一个进程或线程切换到另一个进程或线程。当然在切换之前会保存当前正在运行的进程或线程的状态,以备切回来可以接着执行。

那CPU为什么要切换呢?有几种情况:

CPU不足。至于为什么不足,那情况就多了去了。
进程或线程自己需要切换。

典型的就是进程或线程自己要等待条件满足或这一段的活干完了,于是把CPU释放了。
针对第1种情况:我们得先知道为什么CPU不足。这里也分为两种情况:

1.1 自己消耗的。

1.2 别人消耗的。

针对1.1的情况,那就解决自身的问题。

针对1.2的情况,那就解决别人的问题。

针对第2种情况:那就必然是要分析自己进程或线程的问题了。

Prev:
linux-top
Next:
performance-base-core-processor
Contents of this article
Contents of this article