如何在 Linux Debian (Wheezy) 中禁用设备

Mog*_*get 5 linux debian kernel

我需要强制内核不为我的 PC 中的英特尔 NIC 加载驱动程序,以查看这是否有助于解决我使用同一主板上的第二个 NIC 遇到的性能问题。我怎样才能做到这一点?


我刚刚在我的桌面上安装了 Linux Debian Wheezy,因为我对 Squeeze 非常喜欢和满意。然而,我遇到了一个问题,内核在似乎是随机时间后停止响应 IRQ 16 并将整个机器的速度减慢到无法使用的程度。

谷歌搜索这显示了来自各种发行版和内核的大量人有相同的问题但没有解决方案。我检查/proc/interrupts并发现我的显卡和网卡共享同一个 IRQ,并决定将显卡移动到一个新的插槽,这很有帮助。但是问题仍然存在,只是现在它只会导致我的英特尔千兆网卡出现问题,从而导致性能下降。由于我在这台机器/主板上有两个 NIC,我想尝试禁用该 NIC 并使用另一个来查看是否可以解决问题。

我怎样才能做到这一点?

以下是有关我的系统的一些信息,了解这些信息可能会有所帮助。我删掉了对本案不重要的信息。

hamartin@Sabriel:~$ lspci
00:00.0 主桥:英特尔公司第二代核心处理器家族 DRAM 控制器(修订版 09)
00:01.0 PCI 桥接器:英特尔公司至强 E3-1200/第二代核心处理器家族 PCI Express 根端口(修订版 09)
00:01.1 PCI 桥接器:英特尔公司至强 E3-1200/第二代核心处理器家族 PCI Express 根端口(修订版 09)
00:16.0 通信控制器:英特尔公司 6 系列/C200 系列芯片组家族 MEI 控制器 #1(修订版 04)
00:19.0 以太网控制器:英特尔公司 82579V 千兆网络连接(修订版 05)
00:1a.0 USB 控制器:英特尔公司 6 系列/C200 系列芯片组系列 USB 增强型主机控制器 #2(修订版 05)
00:1b.0 音频设备:Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI 桥接器:英特尔公司 6 系列/C200 系列芯片组家族 PCI Express 根端口 1(修订版 b5)
00:1c.1 PCI 桥接器:英特尔公司 6 系列/C200 系列芯片组家族 PCI Express 根端口 2(修订版 b5)
00:1c.2 PCI 桥接器:英特尔公司 6 系列/C200 系列芯片组家族 PCI Express 根端口 3(修订版 b5)
00:1c.3 PCI 桥接器:英特尔公司 6 系列/C200 系列芯片组家族 PCI Express 根端口 4(修订版 b5)
00:1c.4 PCI 桥接器:英特尔公司 6 系列/C200 系列芯片组家族 PCI Express 根端口 5(修订版 b5)
00:1c.6 PCI 桥:英特尔公司 82801 PCI 桥(修订版 b5)
00:1c.7 PCI 桥接器:英特尔公司 6 系列/C200 系列芯片组家族 PCI Express 根端口 8(修订版 b5)
00:1d.0 USB 控制器:英特尔公司 6 系列/C200 系列芯片组系列 USB 增强型主机控制器 #1(修订版 05)
00:1f.0 ISA 桥接器:英特尔公司 P67 高速芯片组家族 LPC 控制器(修订版 05)
00:1f.2 SATA 控制器:英特尔公司 6 系列/C200 系列芯片组家族 SATA AHCI 控制器(修订版 05)
00:1f.3 SMBus:英特尔公司 6 系列/C200 系列芯片组家族 SMBus 控制器(修订版 05)
02:00.0 VGA 兼容控制器:NVIDIA Corporation GF114 [GeForce GTX 560 Ti] (rev a1)
02:00.1 音频设备:NVIDIA Corporation GF114 HDMI 音频控制器 (rev a1)
04:00.0 USB 控制器:NEC Corporation uPD720200 USB 3.0 主机控制器(修订版 04)
06:00.0 SATA 控制器:JMicron Technology Corp. JMB362 SATA 控制器(修订版 10)
07:00.0 USB 控制器:NEC Corporation uPD720200 USB 3.0 主机控制器(修订版 04)
08:00.0 PCI 桥:ASMedia Technology Inc. ASM1083/1085 PCIe 到 PCI 桥(修订版 01)
09:02.0 以太网控制器:Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC 千兆以太网(修订版 10)
0a:00.0 SATA 控制器:Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s 控制器(修订版 11)

请注意,在我移动显卡之前,IRQ 16 仅在 eth0 和 nouveau 驱动程序之间共享。

hamartin@Sabriel:~$ cat /proc/interrupts 
           CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7      
 16:400001 0 0 0 0 0 0 0 IO-APIC-fasteoi eth0

内核信息。

hamartin@Sabriel:~$ uname -a
Linux Sabriel 3.2.0-4-amd64 #1 SMP Debian 3.2.39-2 x86_64 GNU/Linux

相关日志数据来自/var/log/messages. 这是我改变显卡位置之前的。

3 月 25 日 01:22:50 Sabriel 内核:[4.137920] fb0:nouveaufb 帧缓冲设备
3 月 25 日 01:22:50 Sabriel 内核:[4.137922] drm:注册恐慌通知程序
3 月 25 日 01:22:50 Sabriel 内核:[ 4.137927] [drm] 初始化 nouveau 1.0.0 20120316 为 0000:01:00.0 on minor 0
3 月 25 日 01:22:50 Sabriel 内核:[4.137966] hda_intel:禁用 MSI

我找不到被“围住”到我的终端窗口的错误消息,我怀疑它没有被写入日志。实质上,错误消息表明它停止响应从设备设置为 16 的 IRQ。

如果需要更多信息,请告诉我,我会在看到此处有更新后立即提供。预先感谢您抽出时间提供帮助。

小智 2

您可以使用以下步骤将您的模块列入黑名单:

  1. 创建一个文件/etc/modprobe.d/<modulename>.conf,其中包含blacklist <modulename>
  2. depmod -ae以 root 身份运行
  3. 重新创建你的 initrdupdate-initramfs -u