cpu上下文切换

Posted hanguocai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cpu上下文切换相关的知识,希望对你有一定的参考价值。

cpu上下文就是寄存器和程序计数器。这里记录着指令的位置,他们存在系统内核

系统调用过程叫上下文切换。

进程的上下文切换,线程的上下文切换,中断的上下文切换

一:进程的上下文切换:他与系统调用的不同是,进程中还包括,虚拟内存,全部变量,栈等用户态。也包括寄存器,内核堆栈等内核态

二:线程的上下文切换,如何进程中只一个线程,那这个线程相当于线程

三:中断上下文切换:会打断正常的进程,优先级高

 

怎么查看系统上下文切换?

利用sysbench,vmstat,pidstat ,和 /proc/interrupts来定位。

sysbench可以模拟多个线程运行的工具。

vmstat可以查看系统上下文切换数量,中断数量,排队使用cpu队列大小。

pidstat是查看进程,线程的自愿切换数量,非自愿切换数量,自愿就是io过多导致切换,非自愿切换是多个线程竞争引起

/proc/interrupts是查看中断进程数量

 

以上是关于cpu上下文切换的主要内容,如果未能解决你的问题,请参考以下文章

Linux性能分析-CPU上下文切换

CPU上下文切换分析

Linux什么是CPU上下文切换?

Linux什么是CPU上下文切换?

cpu上下文切换

CPU 上下文切换之理论篇(上)