當前位置:首頁 » 幣種行情 » 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-04-30 13:38:42 瀏覽:883
幣圈小馬 發布:2025-04-30 13:21:32 瀏覽:811
礦機的哈希率是不變的嗎 發布:2025-04-30 13:16:24 瀏覽:310
大慶市比特幣挖礦偷電 發布:2025-04-30 13:07:06 瀏覽:164
2021年4月13日幣圈行情 發布:2025-04-30 13:07:06 瀏覽:745
幣圈的三根線 發布:2025-04-30 12:56:52 瀏覽:132
以太坊gas價格查詢 發布:2025-04-30 12:51:58 瀏覽:856
國際區塊鏈炒幣 發布:2025-04-30 12:30:47 瀏覽:252
以太坊軟體抽水 發布:2025-04-30 12:26:43 瀏覽:757
以太坊上面有什麼項目 發布:2025-04-30 12:24:00 瀏覽:357