现象:
机器键盘接入,敲入无反应;机器无法ping通,整台机器假死状态。
查看message的日志,日志为如下内容:
Aug 29 02:33:55 TSMIS-CF kernel: 0000:00:19.0: eth0: Detected Hardware Unit Hang: Aug 29 02:33:55 TSMIS-CF kernel: TDH <60> Aug 29 02:33:55 TSMIS-CF kernel: TDT <66> Aug 29 02:33:55 TSMIS-CF kernel: next_to_use <66> Aug 29 02:33:55 TSMIS-CF kernel: next_to_clean <60> Aug 29 02:33:55 TSMIS-CF kernel: buffer_info[next_to_clean]: Aug 29 02:33:55 TSMIS-CF kernel: time_stamp <bcfbc> Aug 29 02:33:55 TSMIS-CF kernel: next_to_watch <60> Aug 29 02:33:55 TSMIS-CF kernel: jiffies <c2565> Aug 29 02:33:55 TSMIS-CF kernel: next_to_watch.status <0> Aug 29 02:33:55 TSMIS-CF kernel: MAC Status <80000> Aug 29 02:33:55 TSMIS-CF kernel: PHY Status <ffff> Aug 29 02:33:55 TSMIS-CF kernel: PHY 1000BASE-T Status <ffff> Aug 29 02:33:55 TSMIS-CF kernel: PHY Extended Status <ffff> Aug 29 02:33:55 TSMIS-CF kernel: PCI Status <10> Aug 29 02:33:57 TSMIS-CF kernel: 0000:00:19.0: eth0: Detected Hardware Unit Hang: Aug 29 02:33:57 TSMIS-CF kernel: TDH <60> Aug 29 02:33:57 TSMIS-CF kernel: TDT <66> Aug 29 02:33:57 TSMIS-CF kernel: next_to_use <66> Aug 29 02:33:57 TSMIS-CF kernel: next_to_clean <60> Aug 29 02:33:57 TSMIS-CF kernel: buffer_info[next_to_clean]: Aug 29 02:33:57 TSMIS-CF kernel: time_stamp <bcfbc> Aug 29 02:33:57 TSMIS-CF kernel: next_to_watch <60> Aug 29 02:33:57 TSMIS-CF kernel: jiffies <c2d35> Aug 29 02:33:57 TSMIS-CF kernel: next_to_watch.status <0> Aug 29 02:33:57 TSMIS-CF kernel: MAC Status <80000> Aug 29 02:33:57 TSMIS-CF kernel: PHY Status <ffff> Aug 29 02:33:57 TSMIS-CF kernel: PHY 1000BASE-T Status <ffff> Aug 29 02:33:57 TSMIS-CF kernel: PHY Extended Status <ffff> Aug 29 02:33:57 TSMIS-CF kernel: PCI Status <10> Aug 29 02:33:58 TSMIS-CF kernel: NETDEV WATCHDOG: eth0: transmit timed out Aug 29 02:34:03 TSMIS-CF kernel: e1000e: eth0 NIC Link is Up 10 Mbps Half Duplex, Flow Control: None Aug 29 02:34:03 TSMIS-CF kernel: 0000:00:19.0: eth0: 10/100 speed: disabling TSO
问题原因:
英文解释:
Several adapters with the 82573 chipset display "TX unit hang" messages during normal operation with the e1000 driver. The issue appears both with TSO enabled and disabled, and is caused by a power management function that is enabled in the EEPROM. Early releases of the chipsets to vendors had the EEPROM bit that enabled the feature. After the issue was discovered newer adapters were released with the feature disabled in the EEPROM.(网址:http://serverfault.com/questions/193114/linux-e1000e-intel-networking-driver-problems-galore-where-do-i-start)
中文解释,掉电后数据不丢失的存储芯片存储电源管理继续有效。尤其在e1000的早期的网卡驱动中。
问题解决:
1、确认你的网卡版本和内核版本
[root@TSMIS-CF ~]# lspci|grep Eth
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
[root@TSMIS-CF ~]# uname -a
Linux TSMIS-CF 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux
2 、在 /boot/grub/menu.lst 文件中增加
kopt=pcie_aspm=off
解释:(大概意思就是禁止PCI的电源管理,内核的加载参数见文档:https://www.kernel.org/doc/Documentation/kernel-parameters.txt)
pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power Management. off Disable ASPM. force Enable ASPM even on devices that claim not to support it. WARNING: Forcing ASPM on may cause system lockups.
=================================问题解决=============================================================