當前位置:首頁 » 幣種行情 » x86eth中斷

x86eth中斷

發布時間: 2024-12-14 12:53:46

1. 網卡多隊列

CPU在運行的時候遇到的一些事件, 這些事件有可能是線性程序本身出現的,那也有可能是在CPU的外部 甚至是整個系統的外部出現的事件。那麼 這時就要求CPU強行中止現在正在運行的程序。 並且從一個新的存儲器區域啟動相應的程序去處理這些事件。 還有一點也很重要,就是在處理完這些事件之後,CPU需要恢復到原來的程序繼續運行。 那這些事件就被稱為中斷或者異常。

將CPU運行程序所引發的特殊的事件稱為軟體中斷, 而把外部的這些輸入輸出設備產生的事件稱為升殲硬體中斷。

X86系統採用中斷機制協同處理CPU與其他設備工作。長久以來網卡的中斷默認由cpu0處理,態租在大量小包的網路環境下可能出現cpu0負載高,而其他cpu空閑。後來出現網卡多隊列技術解決這個問題。

當網卡收到數據包時會產生中斷,通知內核有新數據包,然後內核調用中斷處理程序進行響應,把數據包從網卡緩存拷貝到內存,因為網卡緩存大小有限,如果不及時拷出數據,後續數據包將會因為緩存溢出被丟棄,因此這一工作需要立即完成。剩下的處理和操作數據包的工作就會交給軟中斷。高負載的網卡是軟中斷產生的大戶,很容易形成瓶頸。

可以通過顯示/proc/interrupts來顯示中斷信息:

從圖可以看到"124"、"125"分別為eth2-TxRx-0和eth2-TxRx-1的中斷號。

如果有24個CPU的話,那麼將會存在24個這樣的中斷號,從eth2-TxRx-0到eth2-TxRx-23。

每一個中斷號表示一個網卡的工作隊列,在有24個CPU的機器里,每個網卡需要存在24個網路隊列。

通過將中斷號綁定到多CPU並沒有真正實現中斷的分配。支持RSS的網卡,通過多隊列技術,每個隊列對應一個中斷號,通過對每個中斷的綁定,可以實現網卡中斷在cpu多核上的分配。

中斷親和力是指將一個或多個中斷源綁定到特定的 CPU 核心上運行。

/proc/irq/[irq_num]/smp_affinity_list :該文件存放的是CPU列表(十進制)。注意,CPU核心個數用表示編號從0開始,如cpu0,cpu1等

根據上圖所示,124號帆笑兆中斷為網卡eth2的第一個網路隊列的中斷號。我們將它綁定到CPU0上。

echo 0 >/proc/irq/124/smp_affinity_list

根據上面信息可以從/proc/interrupts獲取CPU中斷號信息,來寫腳本實現自動綁定。

使用top命令,然後輸入 1 。

其中 0.0%si 表示當前的軟中斷(software interrupt)的使用率。

熱點內容
幣圈權威媒體排行 發布:2025-09-16 10:39:50 瀏覽:233
區塊鏈在自貿試驗區 發布:2025-09-16 10:27:42 瀏覽:794
幣圈入門資料 發布:2025-09-16 10:25:40 瀏覽:158
BTC現在為什麼不能兌換 發布:2025-09-16 10:21:53 瀏覽:180
區塊鏈如何改變經濟ted演講稿 發布:2025-09-16 10:15:05 瀏覽:782
以太坊transfer是啥意思 發布:2025-09-16 10:08:54 瀏覽:261
幣圈公司簡介 發布:2025-09-16 09:57:56 瀏覽:404
幣圈砸單是怎麼砸 發布:2025-09-16 09:49:20 瀏覽:61
自定義eth代幣地址 發布:2025-09-16 09:48:01 瀏覽:903
區塊鏈游戲平台投資是不是騙局 發布:2025-09-16 09:39:09 瀏覽:775