I'm going to purchase a GPU which is for PCI-e 3.0. But since I don't know what PCI-e slot it is in my computer I need to find it out somehow. Is it possible to find it from the terminal in linux?
2 Answers
Using lspci -vv
as root, you can get the transfer rate and compare it with the transfer rate specified for the revisions. A sample output would read:
# 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])
Which shows that the speed here is 2.5GT/s, corresponding to PCIe 1.x.
-
9This needs to run as root; without it,
lspci
silently printsCapabilities: <access denied>
, which is removed by thegrep
.– FauxFauxJul 5, 2017 at 19:29 -
16
-
That shows the CURRENT transfer speed. An idle system will all show the lowest speed it is allowed to run at. You can't use this at all. Sep 27, 2021 at 4:05
-
1@KenSharp My understanding is that
LnkCap
is the link capability, not the current throughput rate. Do you have a source for your claim?– quazgarSep 28, 2021 at 7:59
You can use the "dmidecode" command to give an in depth list of all the hardware on the system and then view that. I did a "quick and dirty" command to show the pertinent bit as follows:
dmidecode | grep "PCI"
Which returned
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
-
6
dmidecode --type 9
can also be used to filter while keeping the rest of the information.– BenCJan 19, 2016 at 2:24 -
8
-
I think this lists the slot native speed but if the BIOS has a slot set to previous generation or an older card is dropping the slot generation I don't think this reflects it.– BoeroBoyJan 24 at 14:13