Saya memiliki Dell 1U Server dengan Intel (R) Xeon (R) CPU L5420 @ 2.50GHz, 8 core yang menjalankan Ubuntu Server Kernel Versi 3.13.0-32-generik pada x86_64. Ini memiliki kartu jaringan 1000baseT ganda. Saya sudah mengaturnya untuk meneruskan paket dari eth0 ke eth1.
Saya perhatikan bahwa di file kern.log saya terus menggantung lalu beristirahat. Ini sering terjadi. Ini terjadi setiap beberapa detik maka mungkin akan baik-baik saja selama beberapa menit kemudian kembali ke setiap beberapa detik.
Berikut adalah dump file log:
[118943.768245] e1000e 0000:00:19.0 eth0: Detected Hardware Unit Hang:
[118943.768245] TDH <45>
[118943.768245] TDT <50>
[118943.768245] next_to_use <50>
[118943.768245] next_to_clean <43>
[118943.768245] buffer_info[next_to_clean]:
[118943.768245] time_stamp <101c48d04>
[118943.768245] next_to_watch <45>
[118943.768245] jiffies <101c4970f>
[118943.768245] next_to_watch.status <0>
[118943.768245] MAC Status <80283>
[118943.768245] PHY Status <792d>
[118943.768245] PHY 1000BASE-T Status <7800>
[118943.768245] PHY Extended Status <3000>
[118943.768245] PCI Status <10>
[118944.780015] e1000e 0000:00:19.0 eth0: Reset adapter unexpectedly
Ini adalah info dari ethtool:
Pengaturan:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Info pengemudi:
ethtool -i eth0
driver: e1000e
version: 2.3.2-k
firmware-version: 1.4-0
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
Apa yang menyebabkan ini? Apakah ini hanya bug dalam perangkat lunak atau masalah perangkat keras yang sebenarnya? Saya telah melihat banyak masalah lain yang serupa tetapi tidak ada solusi nyata dan ini juga membuat saya percaya bahwa ini masalah perangkat lunak?
Mungkin seseorang bisa menjelaskan ini untukku?
sumber
Jawaban:
Ok jadi setelah memposting pertanyaan ini tadi malam saya terus melakukan riset satu-satunya solusi nyata yang saya temui tampaknya telah mengatasi masalah tersebut.
Menonaktifkan TSO, GSO, dan GRO menggunakan ethtool:
Menurut posting yang ditemukan di sini: http://ehc.ac/p/e1000/bugs/378/
Dari apa yang saya pahami ini akan atau dapat menyebabkan penurunan kinerja.
Saya juga melihat solusi lain adalah menonaktifkan Manajemen Daya Active-State
Menurut posting ini di serverfault: Linux e1000e (driver jaringan Intel) banyak masalah, di mana saya mulai?
Saya belum mencoba solusi ini. Saya akan mencobanya dan melihat apakah itu membuat perbedaan dan memposting kembali temuan saya.
EDIT:
Ok jadi saya sudah mencoba mematikan Active-State Power Management, pcie_aspm = mati dan ini tidak berpengaruh. Saya terus memperhatikan kesalahan dalam file log saya.
Ini mungkin masih bekerja untuk beberapa karena beberapa Intel memiliki masalah dengan kernel yang berbeda tertidur ketika manajemen daya diaktifkan.
sumber
ethtool -K eth0 gso off gro off tso off
akan menjatuhkan koneksi, bahkan untuk waktu yang singkat?Menonaktifkan Enhanced C1 (C1E) di BIOS memperbaikinya untuk saya.
Tidak yakin apakah kondisi daya yang lebih rendah dari C1E mengacaukan driver, atau bahwa ada oops di driver ketika prosesor dalam keadaan ini.
Bagaimanapun, masalah terpecahkan.
sumber
Saya punya masalah (memicu kesalahan kernel yang sama seperti Anda dan userspace kesalahan SSH seperti "
Corrupted MAC on input
").Larutan
Apa yang berhasil bagi saya adalah untuk menonaktifkan pemuatan TCP checksum:
# ethtool -K eth0 tx off rx off
Bersihkan & integrasi jangka panjang ini dengan debian-ish / etc / network / interfaces :
sumber , inspirasi .
Konteks
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-V (rev 04)
sumber
Coba perbarui driver Anda. Tidak tahu di mana itu untuk Ubuntu atau versi apa yang direkomendasikan tetapi untuk CentOS atau EL 6 itu adalah:
http://mirror.symnds.com/distributions/elrepo/elrepo/el6/x86_64/RPMS/kmod-e1000e-3.1.0.2-1.el6.elrepo.x86_64.rpm
sumber