1. 程式人生 > >cpu上下文切換

cpu上下文切換

cpu上下文就是暫存器和程式計數器。這裡記錄著指令的位置,他們存在系統核心

系統呼叫過程叫上下文切換。

程序的上下文切換,執行緒的上下文切換,中斷的上下文切換

一:程序的上下文切換:他與系統呼叫的不同是,程序中還包括,虛擬記憶體,全部變數,棧等使用者態。也包括暫存器,核心堆疊等核心態

二:執行緒的上下文切換,如何程序中只一個執行緒,那這個執行緒相當於執行緒

三:中斷上下文切換:會打斷正常的程序,優先順序高

 

怎麼檢視系統上下文切換?

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

sysbench可以模擬多個執行緒執行的工具。

vmstat可以檢視系統上下文切換數量,中斷數量,排隊使用cpu佇列大小。

pidstat是檢視程序,執行緒的自願切換數量,非自願切換數量,自願就是io過多導致切換,非自願切換是多個執行緒競爭引起

/proc/interrupts是檢視中斷程序數量