5

Мне нужно заставить ядро не загружать драйверы для сетевого адаптера Intel на моем ПК, чтобы проверить, помогает ли это в решении проблем с производительностью, которые я испытываю, используя второй сетевой адаптер на той же материнской плате. Как я могу это сделать?


Я только что установил Linux Debian Wheezy на свой рабочий стол, так как я очень любил Squeeze. Однако я столкнулся с проблемой, когда ядро после случайного времени перестает отвечать на IRQ 16 и замедляет работу всей машины до такой степени, что она становится непригодной для использования.

Поиск в Google показывает кучу людей из всех видов дистрибутивов и ядер с одной и той же проблемой, но без решения. Я проверил /proc/interrupts и обнаружил, что моя видеокарта и сетевая карта используют один и тот же IRQ, и решил переместить видеокарту в новый слот, что очень помогло. Однако проблема все еще существует, только теперь она вызывает только проблемы с моим гигабитным сетевым адаптером Intel, что приводит к снижению производительности. Поскольку у меня есть две сетевые карты на этой машине / материнской плате, я хочу попытаться отключить этот сетевой адаптер и использовать другой, чтобы посмотреть, решит ли это проблему.

Как я могу это сделать?

Вот некоторая информация о моей системе, которую может быть полезно знать. Я вырезал информацию, которая не важна для этого случая.

hamartin@Sabriel:~$ lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 05)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b5)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 82801 PCI Bridge (rev b5)
00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation P67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
02:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560 Ti] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GF114 HDMI Audio Controller (rev a1)
04:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
06:00.0 SATA controller: JMicron Technology Corp. JMB362 SATA Controller (rev 10)
07:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
08:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 01)
09:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)
0a:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9172 SATA 6Gb/s Controller (rev 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

Соответствующие logdata из /var/log/messages . Это было до того, как я изменил расположение видеокарты.

Mar 25 01:22:50 Sabriel kernel: [    4.137920] fb0: nouveaufb frame buffer device
Mar 25 01:22:50 Sabriel kernel: [    4.137922] drm: registered panic notifier
Mar 25 01:22:50 Sabriel kernel: [    4.137927] [drm] Initialized nouveau 1.0.0 20120316 for 0000:01:00.0 on minor 0
Mar 25 01:22:50 Sabriel kernel: [    4.137966] hda_intel: Disabling MSI

Я не могу найти сообщение об ошибке, которое было "замуровано" в моем окне терминала, я подозреваю, что оно не было записано в журналы. По сути, в сообщении об ошибке говорится, что оно перестало отвечать на запросы IRQ от устройства, настроенного на 16.

Если потребуется дополнительная информация, сообщите мне, и я предоставлю ее, как только у меня появится обновление здесь. Заранее спасибо, что нашли время, чтобы помочь.

2 ответа2

2

Вы можете внести свой черный список в черный список, выполнив следующие действия:

  1. Создайте файл /etc/modprobe.d/<modulename>.conf содержащий blacklist <modulename>
  2. Запустите depmod -ae от имени пользователя root
  3. Создайте заново свой initrd с помощью update-initramfs -u
0

Если вы не можете отключить ваше оборудование NIC, вам нужно настроить ядро, в котором не будет скомпилирован соответствующий код драйвера, или удалить его файл ko.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .