
PCI-Express-Steckplätze auf der Hauptplatine können breiter sein als die Anzahl der angeschlossenen Lanes. Eine Hauptplatine kann beispielsweise einen x8-Steckplatz haben, an den nur eine x1-Lane angeschlossen ist.
Andererseits können Sie eine Karte, die beispielsweise nur 4 Lanes verwendet, in einen x16-Steckplatz auf der Hauptplatine einstecken, und das System verhandelt, nur diese x4 Lanes zu verwenden.
Wie kann ich im laufenden System überprüfen, wie viele Lanes von den eingesteckten PCIe-Karten genutzt werden?
Antwort1
Ok, anscheinend habe ich es beim ersten Versuch in lspci
den Manpages übersehen.
Notiz:Führen Sie den Befehl als root/sudo aus, da sonst viele Details ausgelassen werden, einschließlich der unten gezeigten Lnk-Ausgabe.
lspci -vv
zeigt viele Informationen an, einschließlich der Linkbreite:
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-
Antwort2
Manchmal kann es etwas komplizierter sein.
Beispielsweise verfügen 4-Port-GBit-Ethernet-Adapter über einen integrierten PCIe-Switch. Ich bin auf ein Problem gestoßen, bei dem der Ethernet-Adapter an x4 angeschlossen war, es aber einen Engpass im Upstream gab, wenn der integrierte PCIe-Switch nur an x1 mit dem Motherboard verbunden war.
Informationen zum Problem finden Sie in diesem Thread:http://thread.gmane.org/gmane.linux.drivers.e1000.devel/15192/focus=15254
Um einen Eindruck von der Baumkonnektivität zu bekommen, vergleichen Sie die Ansicht von
sudo lspci -tv
sudo lspci -vv | grep -P "[0-9a-f]{2}:[0-9a-f]{2}\.[0-9a-f]|LnkSta:"
Die letzte Zeile zeigt Ihnen den Verbindungsstatus unter jedem Gerät im Bus, ohne die überwältigenden Details der vv-Option.
Antwort3
Ich verwende die folgenden Befehle. lspci -vv
liefert eine ausführliche Ausgabe. Es wird mit grep analysiert, um nur „Breite“ wie folgt anzuzeigen:
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-
Beachten Sie die beidenBreite x8Zeilen oben.
Wenn LnkSta
(Verbindungsstatus) kleiner als LnkCap
(Verbindungskapazität) ist, wird dies (downgraded)
neben der Breite angezeigt. Dies bedeutet, dass die PCI-Karte mehr leisten kann, als der PCI-Steckplatz bereitstellen kann.
Als Nächstes können Sie die physischen und elektrischen PCI-Port-Informationen anzeigen. Physisch ist die tatsächliche Steckplatzgröße auf dem Motherboard. Elektrisch ist die Art und Weise, wie der Steckplatz mit dem Chipsatz verdrahtet ist. Einige Motherboards haben einen physischen x16-Steckplatz, verwenden aber nur x8-Lanes.
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
ist die Art und Weise, wie der Motherboard-Hersteller den SLOT angibt.
Type
sind elektrische und physikalische Eigenschaften. (z. B. elektrische x4-Lanes, physikalischer Steckplatz ist x8).