Comment vérifier le nombre de voies utilisées par la carte PCIe?

30

Les emplacements PCI Express sur la carte mère peuvent être plus larges que le nombre de voies connectées. Par exemple, une carte mère peut avoir un emplacement x8 avec uniquement une voie x1 connectée.

D'autre part, vous pouvez insérer une carte en utilisant uniquement pour ex. 4 voies à un emplacement x16 sur la carte mère, et ils négocieront pour utiliser uniquement ces voies x4.

Comment vérifier à partir du système en cours d'exécution combien de voies sont utilisées par les cartes PCIe insérées?

soie
la source

Réponses:

35

Ok, il semble que je l'ai raté lors du premier essai dans les lspcipages de manuel.

Remarque: Exécutez la commande en tant que root / sudo sinon beaucoup de détails sont omis, y compris la sortie Lnk illustrée ci-dessous.

lspci -vv affiche beaucoup d'informations, y compris la largeur du lien:

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-
soie
la source
1
dans votre exemple, le texte de sortie a les deux width x16et width x8. Je suppose que cela est interprété comme: the link capacity is width x16et this device has negotiated width x8?
Trevor Boyd Smith
1
Oui, c'est comme ça que je le comprends aussi.
soie
Identique au commentaire de @ ʇsәɹoɈ à une autre réponse; Utilisez root / sudo
hbogert
11

Parfois, cela peut être un peu plus compliqué.

Par exemple, les adaptateurs Ethernet GBit à 4 ports ont un commutateur PCIe à bord. J'ai piégé dans un problème où j'ai trouvé l'adaptateur Ethernet connecté à x4, mais un goulot d'étranglement en amont lorsque le commutateur pcie intégré était connecté à x1 à la carte mère uniquement.

Voir ce fil pour le problème: http://thread.gmane.org/gmane.linux.drivers.e1000.devel/15192/focus=15254

Pour comprendre la connectivité des arbres, comparez la vue de

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

La dernière ligne vous montrera l'état de la liaison sous chaque périphérique sur le bus sans les détails accablants de l'option vv.

wjr
la source
10
Remarque: Lorsqu'il est exécuté en tant qu'utilisateur non privilégié, lspci n'affiche pas les statistiques LnkCap / LnkSta / Width. Exécutez-le avec sudo pour les voir.
ʇsәɹoɈ