Bei der Migration vom alten auf den neuen Server stelle ich nach dem Festlegen aller Dienste fest, dass in meiner Netzwerkkarte große Empfangspakete verworfen wurden:
$ ifconfig eth2 | grep 'RX.*drop'
RX packets:2059646370 errors:0 dropped:7142467 overruns:0 frame:0
Aber /sys/class/net/eth2/statistics/rx_dropped
zeig nichts:
$ cat /sys/class/net/eth2/statistics/rx_dropped
0
Dann sehe ich das rx_missed_errors
:
$ cat /sys/class/net/eth2/statistics/rx_missed_errors
7142467
Wie kann ich Fehler beheben und herausfinden, welche Ursache vorliegt rx_missed_errors
?
Ich verwende Ubuntu 12.04.5 LTS mit:
$ ethtool -i eth2
driver: ixgbe
version: 3.15.1-k
firmware-version: 0x800003e1
bus-info: 0000:07:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
linux
linux-networking
cuonglm
quelle
quelle
Antworten:
Die meisten Treiber tauschen ihre Verwendung der Zähler aus
rx_missed_errors
,rx_fifo_errors
undrx_over_errors
, aber sie setzen normalerweise einen oder mehrere dieser Zähler auf den MPC-Zähler (Missed Packet Count), der erhöht wird, wenn ein Paket ankommt und verloren geht, weil die FIFO-Warteschlange der Karte voll ist.Dies ist beim ixgbe-Treiber der Fall:
Also
rx_missed_errors
für ixgbe ist der MPC.Auf der Intel-Website gibt es einen großartigen Blog-Beitrag, der die Ursachen von MPC-Abfällen anhand einer großartigen Analogie beschreibt: https://communities.intel.com/community/tech/wired/blog/2009/11/04/how-the-kitchen -senken-und-Statistiken-erklären-und-behandeln-verworfene-Pakete
Stellen Sie außerdem sicher, dass zwischen Ihrer Netzwerkkarte und dem Switch keine Geschwindigkeits- und Duplex-Fehlanpassung besteht. Wenn Ihr Switch der Meinung ist, dass Ihre Netzwerkkarte schneller ist als sie wirklich ist, haben Sie Probleme mit der Netzwerkkarte.
Schließlich kann es hilfreich sein, die Größe des Ringpuffers Ihrer Netzwerkkarte zu maximieren, wenn die Hauptursache die Leistung angesichts von Bursts ist. Sie können den Maximalwert mit finden
ethtool -g eth2
und dann mit einstellenethtool -G
.quelle