Windows-Xp
什麼是“中斷”程序,為什麼它如此喜歡我的 CPU?
我在 Intel Core Duo 2GHz 上有 Windows XP SP3。根據 Process Explorer,“中斷”程序持續佔用 30-40% 的 CPU。正常嗎?
一般而言,當 IO 設備(如磁碟控制器、網卡、USB 控制器等)需要處理器注意時,它會產生中斷——它基本上是在喊‘嘿,我能佔用你一點時間嗎?請!’。
處理器有自己的工作要做,所以當它收到中斷時,它必須停止它正在做的事情並處理設備移動數據或其他什麼的要求。這不應該做太多的工作,但是使用處理大量數據的現代適配器卡,它們每秒可以為處理器生成大量中斷。傳統上電腦只有一個處理器,所以許多作業系統從未想過將這種中斷處理工作分散到不僅僅是第一個處理器 - 現在仍然如此,即使是最現代的多處理器,一個網卡也可以淹沒“核心 0” - 核心處理器,如果作業系統不會共享此工作負載。
有很多方法可以解決這個問題,一種稱為“中斷合併”,這是網卡的一項功能,它會將一組中斷聚集在一起並將它們作為一個單獨的中斷發送到處理器 - 這增加了網路延遲,但可以節省大量處理器成本。另一個稱為“接收端縮放”,一般來說,它會將處理中斷的工作分擔給“核心 0”以外的部分——降低“核心 0”的重點(這仍然停留在做很多其他核心作業系統在除最現代作業系統之外的所有作業系統中均可執行)。
還有另一個很酷的功能,它與中斷沒有太大關係,但可以提高整體伺服器性能,稱為“TCP 解除安裝”——它可以讓網卡完成處理器通常會完成的一些工作。所有這三個功能都需要網路適配器、BIOS 和作業系統支持,否則它不起作用 - 作為參考,請查看 Microsoft 的THIS文件,它解釋了更詳細的內容。
我希望這有幫助。