Linux

如何更改千兆網卡上的“廣告暫停幀使用”和自動協商設置

  • December 9, 2013

與舊伺服器相比,我正在調查新伺服器上一些較差的 nfs 性能。新舊伺服器都是 nfs 客戶端,它們連接到完全相同的 NetApp nfs 伺服器。

我的具體問題: 如何更改“廣告暫停幀使用”設置

我查看了交換機端,交換機上的埠對兩台主機都說 1000 全雙工。但是,舊伺服器的流控制顯示“Sy/Asy”,但新伺服器設置為 Sym。我假設 Asy=Asymmetric 和 Sym=Symmetric,我的另一個假設是交換機看到了Sym因為在 Linux 端Advertised pause frame use設置為Symmetric。如何將其更改為非對稱?此設置會影響性能嗎?我只是想盡可能地排除。

這些是專用儲存鏈路,即它們是單獨的 NIC,並且位於與主 NIC 不同的子網上。

我發現新舊伺服器上都沒有 iowait 問題,因此 CPU 和記憶體似乎不是問題。我認為它與 eth 設置或 nfs 設置有關。我可以更詳細地了解設置,但想先回答這個具體問題。

新主機(HP ProLiant Dl360P Gen8 上的 CentOS 6.3)

$ sudo ethtool eth3
Settings for eth3:
       Supported ports: [ TP ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Half 1000baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Half 1000baseT/Full
       **Advertised pause frame use: Symmetric**
       Advertised auto-negotiation: Yes
       Speed: 1000Mb/s
       Duplex: Full
       Port: Twisted Pair
       PHYAD: 4
       Transceiver: internal
       Auto-negotiation: on
       MDI-X: off
       Supports Wake-on: g
       Wake-on: g
       Current message level: 0x000000ff (255)
       Link detected: yes

司機:tg3

舊主機(Sun Fire x4150 上的 SLES 9 SP4)

$ sudo ethtool eth1
Settings for eth1:
       Supported ports: [ TP ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Full
       Advertised auto-negotiation: Yes
       Speed: 1000Mb/s
       Duplex: Full
       Port: Twisted Pair
       PHYAD: 1
       Transceiver: internal
       Auto-negotiation: on
       Supports Wake-on: umbg
       Wake-on: g
       Current message level: 0x00000007 (7)
       Link detected: yes

司機:e1000

顯然pause,並且autoneg是無法在千兆位 NIC 上按照IEEE 標准設置為關閉的設置。那就是圍繞 intertubes 的詞。

我已經看到自動協商在 1g 介面上打開。這是您的操作方法:

http://www.cyberciti.biz/tips/howto-linux-add-ethtool-duplex-settings-permanent.html

根據已經提供的有關 ieee 標準的證據,我不認為您應該這樣做。但是,某些介面允許這樣做。

引用自:https://serverfault.com/questions/473860