我想获得有关分配给我的网卡的中断的信息。除了 /proc/interrupts 还有其他方法吗?
ctinnist's questions
当我查看 /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。
我想知道 PCI 架构是分层的这一事实。因此,即使我有两个 PCIx4 插槽,也可能无法充分利用它,因为插槽将连接在一个节点上,带宽不足以处理 2 个 PCIex4。
我的问题的背景是:我正在尝试使用八个 PCIe 1GBit 接口。我有两张带有 2 个端口的卡,一张带有 4 个端口的卡。我能够在 4 个 NIC 接口上获得最大值。激活第 5 个端口后,每 5 个接口的性能略有下降。激活第 6、7 和 8ht 接口后相同。
主要问题是:如何在一台机器上获得 PCIe 结构,“绘制”它,查看它的节点和连接,并推断出该树中最弱的节点?
我将 PCIe x4 NIC 插入 PCIe x16 插槽。我读过,即使它应该在 x4 模式下运行,也不能保证:网卡可以在向后兼容 1x 模式下运行。如何在 Linux 下验证这一点?
是否可以将 PCIe x4 网卡插入 PCIe x16 插槽?
在我的工作站上,/proc/interrupts 中只有两个 PCI-MSI 中断:
0: 11726919 0 IO-APIC-edge timer
1: 3 0 IO-APIC-edge i8042
7: 0 0 IO-APIC-edge parport0
8: 1 0 IO-APIC-edge rtc
9: 0 0 IO-APIC-level acpi
12: 4 0 IO-APIC-edge i8042
58: 13 94016 PCI-MSI eth0
169: 843271 71766622 IO-APIC-level uhci_hcd:usb3, eth1, HDA Intel
201: 1 0 IO-APIC-level uhci_hcd:usb4, uhci_hcd:usb6
209: 0 0 IO-APIC-level ehci_hcd:usb1
217: 2 0 IO-APIC-level ehci_hcd:usb2, uhci_hcd:usb5
225: 27 72309141 IO-APIC-level uhci_hcd:usb7, eth2
233: 6683 103839 PCI-MSI ahci
NMI: 2236 4056
LOC: 11696665 11696593
ERR: 0
MIS: 0
在其他更强大的 RACK Dell 机器(8 核)上,有七个这样的中断。
这是否取决于处理器的数量?IO-APIC 级别是软件中断吗?
我想将 PCI-MSI 中断分配给我的网卡以提高性能。
我正在为多个英特尔网卡(英特尔 EXPI9402PT,基于 82571EB 芯片)使用驱动程序 e1000e。问题是当我尝试在多个接口上使用最大速度(1GB)时,每个接口的速度开始下降。
对于一个接口,我得到:120435948 字节/秒。
对于两个接口,我得到:61080233 字节/秒和 60515294 字节/秒。
对于三个接口,我得到:28564020 字节/秒、27111184 字节/秒、27118907 字节/秒。
可能是什么原因?
编辑:/proc/interrupts 内容:
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
106: 17138 0 0 0 0 0 0 0 PCI-MSI eth0
114: 51 0 0 0 102193 0 20 23745467 PCI-MSI eth2
122: 51 290 15 271 0 9253 100 0 PCI-MSI eth3
130: 43 367 0 290 105 39 15 0 PCI-MSI eth4
138: 43 361 105 210 0 140 0 0 PCI-MSI eth5
146: 56 67625 100 0 0 17855245 0 0 PCI-MSI eth6
我正在尝试利用我的 1GiB 网卡提供的最大带宽,但它始终限于 80MiB(实际兆字节)。可能是什么原因?卡说明(lshw 输出):
description: Ethernet interface
product: DGE-530T Gigabit Ethernet Adapter (rev 11)
vendor: D-Link System Inc
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth1
version: 11
serial: 00:22:b0:68:70:41
size: 1GB/s
capacity: 1GB/s
width: 32 bits
clock: 66MHz
capabilities: pm vpd bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
该卡放置在以下 PCI 插槽中:
*-pci:2
description: PCI bridge
product: 82801 PCI Bridge
vendor: Intel Corporation
physical id: 1e
bus info: pci@0000:00:1e.0
version: 92
width: 32 bits
clock: 33MHz
capabilities: pci subtractive_decode bus_master cap_list
PCI不是任何PCI Express吗?这是一个传统的 PCI 插槽?所以也许这就是原因?
操作系统是linux。