Networking
rhel + eth0:檢測到 Tx 單元掛起
親愛的朋友和大學
我們有 rhel 7.2 版本的 VM 機器 -
3.10.0-327.el7.x86_64
我們注意到以下消息(來自
/var/log/messages
)e1000 0000:02:01.0 eth0: Detected Tx Unit Hang#012 Tx Queue <0>#012 TDH <45>#012 TDT
從 dmesg 我們得到了
[21519947.519425] e1000 0000:02:01.0 eth0: Detected Tx Unit Hang Tx Queue <0> TDH <45> TDT <45> next_to_use <26> next_to_clean <45> buffer_info[next_to_clean] time_stamp <6032d5901> next_to_watch <47> jiffies <6032d75ab> next_to_watch.status <0> [21519949.521583] e1000 0000:02:01.0 eth0: Detected Tx Unit Hang Tx Queue <0> TDH <45> TDT <45> next_to_use <26> next_to_clean <45> buffer_info[next_to_clean] time_stamp <6032d5901> next_to_watch <47> jiffies <6032d7d7e> next_to_watch.status <0> [21519949.811366] e1000 0000:02:01.0 eth0: Reset adapter [21519949.855081] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
我們嘗試搜尋上述問題的解決方案,我們看到有關以下修復的文章
設置以下內容
/etc/sysctl.conf
,然後重新啟動機器pcie_aspm=offet ( https://serverfault.com/questions/193114/linux-e1000e-intel-networking-driver-problems-galore-where-do-i-start )
或者
ethtool -K eth0 tso off gso off
或者
更改了網路適配器tor
VMNETX3.
等等 ….
所以我們對正確的解決方案感到困惑
請建議解決我們的問題的正確方法是什麼?
這是舊核心的一個已知問題 ( Bugzilla 1288237 )。該修復程序已被反向移植到較新的核心版本中,並在以下安全公告下進行跟踪:
這個問題被認為是由以下上游送出引入的: https ://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b4ded8327fea82b53fcec39e0845011246d020f4
對於早於 3.10.0-514.el7 的核心,一些使用者報告說,當受影響介面上的 Scatter-Gather 解除安裝引擎通過 ethtool 禁用時,該行為停止發生:
# ethtool -K <interface> sg off
有關更多資訊,請查看 Red Hat 的知識庫文章:https ://access.redhat.com/solutions/2070703
一般來說,由於 RHEL 提供了穩定的 ABI 和 API 介面,執行過時的軟體很少有任何好處,應該更新到正在執行的主要版本的最新更新檔版本(例如 RHEL 7、RHEL 和)。