Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi @all,

auf einen meiner Server (SLES 10 SP2) habe ich auf dem eth0 Interface beim Aufruf von ifconfig sehr viele drops von Packenten und diese werden immer mehr:

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  

          inet addr:xx.xx.xx.xx  Bcast:xx.xx.xx.xx  Mask:xx.xx.xx.x

          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

          [FONT="Arial Black"][COLOR="Red"]RX packets:141317235 errors:0 dropped:8363524 overruns:0 frame:0[/COLOR][/FONT]

          TX packets:130410447 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:83320472664 (79460.5 Mb)  TX bytes:59843219416 (57070.9 Mb)


lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:10637355 errors:0 dropped:0 overruns:0 frame:0

          TX packets:10637355 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:9698699158 (9249.4 Mb)  TX bytes:9698699158 (9249.4 Mb)

An was könnte das liegen?

Geschrieben

ganz grob gesagt darf ein System Pakete droppen, wenn es sie nicht verarbeiten kann, z.b. weil Storage oder System langsamer ist als der Netzwerkcontroller. Was ist das für ein Ethernet ?

Ist es denkbar, daß Dir mbufs im System fehlen und deswegen Pakete verworfen werden ? Könnte auf einem Bastelsystem auch an falschen Treibern für den Controller liegen :floet:

Geschrieben

Es handelt sich um Gigabit Karten aber genau kann ich das nicht sagen, muss ich mal morgen schauen.

Wie kann ich analysieren wo das Problem liegt, bzw. wie kann ich sehen ob der falsche Treiber installiert wurde?

Geschrieben

ethtool eth0

Settings for eth0:

        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: g

        Wake-on: g

        Link detected: yes
ethtool -k eth0
Offload parameters for eth0:

rx-checksumming: on

tx-checksumming: on

scatter-gather: on

tcp segmentation offload: on
ethtool -S eth0
NIC statistics:

     rx_bytes: 145386575924

     rx_error_bytes: 0

     tx_bytes: 98437042726

     tx_error_bytes: 0

     rx_ucast_packets: 206523494

     rx_mcast_packets: 9022

     rx_bcast_packets: 12756842

     tx_ucast_packets: 197668869

     tx_mcast_packets: 0

     tx_bcast_packets: 15333

     tx_mac_errors: 0

     tx_carrier_errors: 0

     rx_crc_errors: 0

     rx_align_errors: 0

     tx_single_collisions: 0

     tx_multi_collisions: 0

     tx_deferred: 0

     tx_excess_collisions: 0

     tx_late_collisions: 0

     tx_total_collisions: 0

     rx_fragments: 0

     rx_jabbers: 0

     rx_undersize_packets: 0

     rx_oversize_packets: 0

     rx_64_byte_packets: 32357706

     rx_65_to_127_byte_packets: 65483858

     rx_128_to_255_byte_packets: 6460762

     rx_256_to_511_byte_packets: 9554330

     rx_512_to_1023_byte_packets: 8290527

     rx_1024_to_1522_byte_packets: 97142175

     rx_1523_to_9022_byte_packets: 0

     tx_64_byte_packets: 33342739

     tx_65_to_127_byte_packets: 60429869

     tx_128_to_255_byte_packets: 14234465

     tx_256_to_511_byte_packets: 3890827

     tx_512_to_1023_byte_packets: 51597637

     tx_1024_to_1522_byte_packets: 34188665

     tx_1523_to_9022_byte_packets: 0

     rx_xon_frames: 0

     rx_xoff_frames: 0

     tx_xon_frames: 0

     tx_xoff_frames: 0

     rx_mac_ctrl_frames: 0

     rx_filtered_packets: 3129962

     rx_discards: 0

     rx_fw_discards: 12799419

Geschrieben

Hi,

folgende Ausgabe habe ich bekommen:

net.ipv4.tcp_rmem = 4096        87380   174760

net.ipv4.tcp_wmem = 4096        16384   131072

net.ipv4.tcp_mem = 196608       262144  393216

net.ipv4.igmp_max_memberships = 20

net.core.optmem_max = 20480

net.core.rmem_default = 126976

net.core.wmem_default = 126976

net.core.rmem_max = 131071

net.core.wmem_max = 131071

vm.lowmem_reserve_ratio = 256   256     32

vm.overcommit_memory = 0

Geschrieben

jetzt will ich auch mal :D

"netstat -s inet"

der letzte Bereich "TcpExt" interessiert mich.

Irgendwie fehlt mir unter Linux ein "netstat -m", wo ich die mbufs und auch die Overruns sehe. Gibts sowas denn nicht ????

Geschrieben (bearbeitet)

Du erlaubst mit


net.ipv4.tcp_rmem=4096 87380 174760

beim Empfangen eine TCP Window Size von bis zu 174760 Byte. Der maximale Buffer fuer alle Protokolle zum Empfangen:

net.core.rmem_max = 131071

ist hier aber zu klein bemessen.

Auch wuerde ich hier anstelle der krummen 170,6640625 kByte (174760 Byte) eher 256 kByte (262144 Byte) setzen.

Bearbeitet von hades
Geschrieben (bearbeitet)

@charmanta

TcpExt:

    65 invalid SYN cookies received

    155 resets received for embryonic SYN_RECV sockets

    89 packets pruned from receive queue because of socket buffer overrun

    ArpFilter: 0

    14341 TCP sockets finished time wait in fast timer

    10 time wait sockets recycled by time stamp

    713178 delayed acks sent

    316 delayed acks further delayed because of locked socket

    Quick ack mode was activated 3908 times

    29091413 packets directly queued to recvmsg prequeue.

    19881778 packets directly received from backlog

    1892094685 packets directly received from prequeue

    31118010 packets header predicted

    1272468 packets header predicted and directly queued to user

    TCPPureAcks: 1118011

    TCPHPAcks: 30188520

    TCPRenoRecovery: 2524

    TCPSackRecovery: 1

    TCPSACKReneging: 0

    TCPFACKReorder: 0

    TCPSACKReorder: 0

    TCPRenoReorder: 277

    TCPTSReorder: 128

    TCPFullUndo: 1038

    TCPPartialUndo: 640

    TCPDSACKUndo: 0

    TCPLossUndo: 1

    TCPLoss: 0

    TCPLostRetransmit: 0

    TCPRenoFailures: 117

    TCPSackFailures: 0

    TCPLossFailures: 42

    TCPFastRetrans: 1991

    TCPForwardRetrans: 0

    TCPSlowStartRetrans: 668

    TCPTimeouts: 3276

    TCPRenoRecoveryFail: 674

    TCPSackRecoveryFail: 0

    TCPSchedulerFailed: 2

    TCPRcvCollapsed: 5439

    TCPDSACKOldSent: 4

    TCPDSACKOfoSent: 0

    TCPDSACKRecv: 2

    TCPDSACKOfoRecv: 0

    TCPAbortOnSyn: 0

    TCPAbortOnData: 14

    TCPAbortOnClose: 56

    TCPAbortOnMemory: 0

    TCPAbortOnTimeout: 32

    TCPAbortOnLinger: 0

    TCPAbortFailed: 0

    TCPMemoryPressures: 0

@hades

Habe ich das richtig verstanden, ich soll den Wert: net.ipv4.tcp_rmem setzen und das wars?

Bearbeitet von sombrero2007
Geschrieben


net.core.rmem_max  = 262144

net.ipv4.tcp_rmem = 4096   87380   262144

net.core.rmem_max gilt fuer alle Protokolle als maximaler Empfangsbuffer.

In diesen sollte auch die maximale TCP Window Size, die Du mit dem letzten Wert von net.ipv4.tcp_rmem definierst, reinpassen.;)

Geschrieben

Es werden nur zwei karten im Bonding genutz.

lspci | grep Ethernet


03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

05:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

0e:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)

0e:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
ethtool -i eth0

driver: bnx2

version: 1.6.7c

firmware-version: 1.9.6

bus-info: 0000:05:00.0
Es wird der Standart SLES 10 SP2 Kernel verwendet. uname -a

Linux systemname 2.6.16.60-0.21-smp #1 SMP Tue May 6 12:41:02 UTC 2008 x86_64 x86_64 x86_64 GNU/Linux

Geschrieben (bearbeitet)

Der Broadcom-Chip BCM5708 hat nach einer google-Recherche anscheinend mit linux Probleme. Ein Tip ist hier das Deaktivieren der Offloading Funktionen (TCP Segmentation Offloading, RX/TX Checksum Offloading...).

Ausschalten mit:


ethtool -K eth0 tso off

ethtool -K eth0 rx off

ethtool -K eth0 tx off

ethtool -K eth0 sg off


Das ist hier nicht persistent.

Ich weiss nicht wo das bei SLES persistent gesetzt wird, vermutlich in der /etc/sysconfig/network/ifcfg-eth0 dort dann in den ethtool_options.

Bei Broadcom gibt es fuer die BCM5708 einen neueren Linux-Treiber.

Broadcom Corporation - Download NetXtreme II 1 Gigabit Drivers

Wenn es onboard-NICs sind, dann solltest Du zuerst beim Server- bzw. Mainboardhersteller nachschauen ob es dort neuere Treiber gibt.

Ein weiterer Tip ist hier das Ersetzen dieser BCM-NICs durch eine andere (z.B. durch die auch vorhandenen Intel NICs).

Bearbeitet von hades

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...