cpu上下文就是寄存器和程序计数器。这里记录着指令的位置,他们存在系统内核
系统调用过程叫上下文切换。
进程的上下文切换,线程的上下文切换,中断的上下文切换
一:进程的上下文切换:他与系统调用的不同是,进程中还包括,虚拟内存,全部变量,栈等用户态。也包括寄存器,内核堆栈等内核态
二:线程的上下文切换,如何进程中只一个线程,那这个线程相当于线程
三:中断上下文切换:会打断正常的进程,优先级高
怎么查看系统上下文切换?
利用sysbench,vmstat,pidstat ,和 /proc/interrupts来定位。
sysbench可以模拟多个线程运行的工具。
vmstat可以查看系统上下文切换数量,中断数量,排队使用cpu队列大小。
pidstat是查看进程,线程的自愿切换数量,非自愿切换数量,自愿就是io过多导致切换,非自愿切换是多个线程竞争引起
/proc/interrupts是查看中断进程数量
原文地址:https://www.cnblogs.com/hanguocai/p/10045706.html
时间: 2024-11-08 15:19:23