当我查看 /proc/interrupts 时:
$ cat /proc/中断 CPU0 CPU1 (...) 12:4 0 IO-APIC-edge i8042 14:145 65310875 IO-APIC-edge ide0 50:0 0 IO-APIC 级 uhci_hcd:usb5, Intel ICH7 58:5388 7983508 IO-APIC级libata 169: 812427252 1236572641 IO-APIC 级 skge, eth1 217: 6 0 IO-APIC 级别 ehci_hcd:usb1, uhci_hcd:usb2 225:0 0 IO-APIC 级 uhci_hcd:usb3 233:60 3108720778 IO-APIC 级 uhci_hcd:usb4, skge
我可以看到两个skge和一个eth1条目。它们都是网卡。因为通用名称“skge”(这是网卡的网络驱动程序的名称)我无法轻易重新识别,哪个网卡占用了哪个中断。
如何让 linux 在条目中使用更具描述性的名称?
或者:是否有任何替代方法来获取 INT 信息而不是 /proc/interrupt?
我的最终目标是操纵 NIC 的 smp_affinities。
在基于 RH 的系统上,您可以通过ifcfg-* scripts命名每个 nic 。
只需指定 nic 的 MAC 地址,或者将其关联到正确的硬件设备,然后给它一个您选择的设备名称。
这样你应该列出 "yournicname" 而不是 "eth1",这样你就可以简单地实现你的目标。
这是一篇不错的文章,您可以按照多种方法在各种情况下进行此调整;根据您的分布,它可能或多或少复杂。
查看 /sys/class/net/ (接口) /device/irq。
在 /proc/irq/ (中断) /smp_affinity 中设置关联。
我不知道为什么 skge 驱动程序没有给你单独的设备;也许它只能对所有接口使用单个 IRQ 线?