當前位置:首頁 » 幣種行情 » 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)的使用率。

熱點內容
eth0自動多了個eth1點路由 發布:2025-09-16 12:52:29 瀏覽:57
關於數字貨幣的社區 發布:2025-09-16 12:29:21 瀏覽:49
區塊鏈票交所 發布:2025-09-16 12:22:31 瀏覽:295
以太坊分叉etf是什麼 發布:2025-09-16 12:18:42 瀏覽:641
以太坊快速同步 發布:2025-09-16 12:12:24 瀏覽:962
bch跟ltc支付方面哪個好 發布:2025-09-16 11:47:49 瀏覽:989
去社會實踐中心作文六百字 發布:2025-09-16 11:14:45 瀏覽:166
去房管中心領首付款 發布:2025-09-16 11:04:04 瀏覽:739
家庭用eth挖礦機 發布:2025-09-16 11:00:22 瀏覽:354
雲賽智聯與中鈔區塊鏈 發布:2025-09-16 10:51:27 瀏覽:546