¿Cómo comprobar cuántos carriles utiliza la tarjeta PCIe?

¿Cómo comprobar cuántos carriles utiliza la tarjeta PCIe?

Las ranuras PCI Express de la placa base pueden ser más anchas que la cantidad de carriles conectados. Por ejemplo, una placa base puede tener una ranura x8 con solo un carril x1 conectado.

Por otro lado, puedes insertar una tarjeta usando solo por ej. 4 carriles a una ranura x16 en la placa base, y negociarán para usar solo esos carriles x4.

¿Cómo comprobar desde el sistema en ejecución cuántos carriles utilizan las tarjetas PCIe insertadas?

Respuesta1

Ok, parece que me lo perdí en el primer intento en lspcilas páginas de manual.

Nota:Ejecute el comando como root/sudo; de lo contrario, se omitirán muchos detalles, incluido el resultado de Lnk que se muestra a continuación.

lspci -vvmuestra mucha información, incluido el ancho del enlace:

01:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GT] (rev a2) (prog-if 00 [VGA controller])
            [...]
            LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <512ns, L1 <1us
                    ClockPM- Surprise- LLActRep- BwNot-
            LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+
                    ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
            LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

Respuesta2

A veces puede ser un poco más complicado.

Por ejemplo, los adaptadores Ethernet GBit de 4 puertos tienen un conmutador PCIe integrado. Me encontré con un problema en el que encontré el adaptador Ethernet conectado a x4, pero había un cuello de botella en el sentido ascendente cuando el conmutador pcie integrado estaba conectado en x1 solo a la placa base.

Consulte este hilo para conocer el problema:http://thread.gmane.org/gmane.linux.drivers.e1000.devel/15192/focus=15254

Para comprender la conectividad de los árboles, compare la vista de

sudo lspci -tv
sudo lspci -vv | grep -P "[0-9a-f]{2}:[0-9a-f]{2}\.[0-9a-f]|LnkSta:"

La última línea le mostrará el estado del enlace debajo de cada dispositivo en el autobús sin los abrumadores detalles de la opción vv.

Respuesta3

Utilizo los siguientes comandos. lspci -vvproporciona una salida detallada. Se analiza con grep para ver solo "Ancho" de la siguiente manera:

lspci -vvv | egrep "0[0-9]:|Width\ "
03:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0)
pcilib: sysfs_read_vpd: read failed: Input/output error
        LnkCap:    Port #8, Speed 5GT/s, Width x8, ASPM L0s, Exit Latency L0s unlimited, L1 unlimited
        LnkSta:    Speed 5GT/s, Width x8, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-

Note los dosAncho x8líneas de arriba.

Si LnkSta(Estado del enlace) es menor que LnkCap(Capacidad del enlace), se mostrará (downgraded)junto al Ancho. Esto significa que la tarjeta PCI es capaz de hacer más de lo que puede ofrecer la ranura PCI.

A continuación, puede ver la información del puerto PCI físico y eléctrico. El físico es el tamaño real de la ranura de la placa base. Eléctrico es cómo se conecta la ranura al chipset. Algunas placas base tendrán una ranura física x16, pero solo usarán carriles x8.

dmidecode --type 9 | egrep "Usage|Type|Designation"

Designation: PCH SLOT1 PCI-E 3.0 X4(IN X8)
Type: x4 PCI Express 3 x8
Current Usage: Available

DesignationAsí es como el fabricante de la placa base informa el SLOT. Typeson las características eléctricas y físicas. (por ejemplo, carriles eléctricos x4, el espacio físico es x8).

información relacionada