Como verificar quantas pistas são utilizadas pela placa PCIe?

Como verificar quantas pistas são utilizadas pela placa PCIe?

Os slots PCI Express na placa-mãe podem ser maiores que o número de pistas conectadas. Por exemplo, uma placa-mãe pode ter slot x8 com apenas uma pista x1 conectada.

Por outro lado, você pode inserir um cartão usando apenas por ex. 4 pistas para um slot x16 na placa-mãe, e eles negociarão para usar apenas essas pistas x4.

Como verificar no sistema em execução quantas pistas são utilizadas pelas placas PCIe inseridas?

Responder1

Ok, parece que perdi na primeira tentativa nas lspcipáginas de manual.

Observação:Execute o comando como root/sudo, caso contrário, muitos detalhes serão omitidos, incluindo a saída do Lnk mostrada abaixo.

lspci -vvexibe muitas informações, incluindo a largura do link:

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-

Responder2

Às vezes pode ser um pouco mais complicado.

Por exemplo, adaptadores Ethernet GBit de 4 portas possuem um switch PCIe integrado. Eu me deparei com um problema em que encontrei o adaptador Ethernet conectado ao x4, mas havia um gargalo no upstream quando o switch PCIe integrado estava conectado em x1 apenas à placa-mãe.

Veja este tópico para o problema:http://thread.gmane.org/gmane.linux.drivers.e1000.devel/15192/focus=15254

Para entender a conectividade das árvores, compare a visão de

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

A última linha mostrará o status do link abaixo de cada dispositivo no barramento, sem os detalhes excessivos da opção vv.

Responder3

Eu uso os seguintes comandos. lspci -vvfornece saída detalhada. É analisado com grep para visualizar apenas "Largura" da seguinte forma:

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-

Observe os doisLargura x8linhas acima.

Se LnkSta(Status do link) for menor que LnkCap(Capacidade do link), ele será exibido (downgraded)próximo à Largura. Isso significa que a placa PCI é capaz de mais do que o slot PCI pode fornecer.

A seguir, você pode visualizar as informações da porta PCI física e elétrica. Físico é o tamanho real do slot na placa-mãe. Elétrica é como o slot é conectado ao chipset. Algumas placas-mãe terão um slot físico x16, mas usam apenas pistas 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

Designationé como o fabricante da placa-mãe informa o SLOT. Typesão características elétricas e físicas. (ex. pistas elétricas x4, slot físico é x8).

informação relacionada