Como verificar quantas faixas são usadas pela placa PCIe?

30

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

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

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

seda
fonte

Respostas:

35

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

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

lspci -vv exibe 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-
seda
fonte
1
no seu exemplo, o texto de saída possui ambos width x16e width x8. Presumo que isso seja interpretado como: the link capacity is width x16e this device has negotiated width x8?
Trevor Boyd Smith
1
Sim, é assim que eu também entendo.
seda
O mesmo que o comentário de @ ʇsәɹoɈ em outra resposta; Use root / sudo
hbogert 7/10
11

Às vezes, pode ser um pouco mais complicado.

Por exemplo, os adaptadores Ethernet de 4 portas GBit têm um switch PCIe integrado. Fiquei preso a um problema em que encontrei o adaptador Ethernet conectado ao x4, mas um gargalo a montante quando o switch pcie onboard foi conectado no x1 apenas à placa-mãe.

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

Para ter uma idéia da conectividade em árvore, compare a exibiçã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 exagerados da opção vv.

wjr
fonte
10
Nota: Quando executado como um usuário não privilegiado, o lspci não mostra as estatísticas LnkCap / LnkSta / Width. Execute-o com o sudo para vê-los.
ʇsәɹoɈ