Czy mogę sprawdzić, czy gniazdo PCI-e ma 1.0, 2.0 lub 3.0 w terminalu Linux?

13

Zamierzam kupić procesor graficzny dla PCI-e 3.0. Ale ponieważ nie wiem, jakie jest gniazdo PCI-e w moim komputerze, muszę się jakoś dowiedzieć. Czy można go znaleźć w terminalu w Linuksie?

starcorn
źródło
1
Nie pytano, ale miło wiedzieć: karta PCI-e v3 będzie działać poprawnie na gnieździe PCI-e v2.
Hennes

Odpowiedzi:

12

Za pomocą lspci -vv, możesz uzyskać szybkość transferu i porównać ją z szybkością transferu określone dla wersji . Przykładowy wynik brzmi:

# lspci -vv | grep -E 'PCI bridge|LnkCap'
00:02.0 PCI bridge: NVIDIA Corporation C51 PCI Express Bridge (rev a1) (prog-if 00 [Normal decode])
                LnkCap: Port #2, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <4us
00:03.0 PCI bridge: NVIDIA Corporation C51 PCI Express Bridge (rev a1) (prog-if 00 [Normal decode])
                LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <4us
00:04.0 PCI bridge: NVIDIA Corporation C51 PCI Express Bridge (rev a1) (prog-if 00 [Normal decode])
                LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <512ns, L1 <4us
00:10.0 PCI bridge: NVIDIA Corporation MCP51 PCI Bridge (rev a2) (prog-if 01 [Subtractive decode])

Co pokazuje, że prędkość tutaj wynosi 2.5GT / s, co odpowiada PCIe 1.x.

quazgar
źródło
4
To musi działać jako root; bez tego, lspci cicho drukuje Capabilities: <access denied>, który jest usuwany przez grep.
FauxFaux
4
Właśnie to # znaczy.
goetzc
6

Możesz użyć polecenia „dmidecode”, aby podać szczegółową listę całego sprzętu w systemie, a następnie go zobaczyć. Zrobiłem „szybkie i brudne” polecenie, aby pokazać odpowiedni bit w następujący sposób:

dmidecode | grep "PCI"

Który wrócił

PCI is supported
Type: x16 PCI Express 2 x8
Type: x8 PCI Express 2 x4
Type: x8 PCI Express 2 x4
Type: x8 PCI Express 2 x4
Type: 32-bit PCI
davidgo
źródło
3
dmidecode --type 9 może być również używany do filtrowania, zachowując resztę informacji.
BenC