
Я знаю, как проверить, сколько слотов PCI еще не используется на моем сервере, используя dmidecode
и ища Available
слоты:
# dmidecode
[...]
Handle 0x0014, DMI type 9, 13 bytes
System Slot Information
Designation: PCI1
Type: 32-bit PCI
Current Usage: Available
Length: Long
ID: 2
Characteristics:
5.0 V is provided
PME signal is supported
и я также знаю, как проверить, какой тип и версия PCI у всех слотов на сервере (доступных и используемых), используя lspci -vvv
и просматривая LnkCap
данные:
# lspci -vvv
[...]
00:1f.0 PCI bridge: Silicon Integrated Systems [SiS] PCI-to-PCI bridge (prog-if 00 [Normal decode])
[...]
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ...
где скорость 2.5GT/s и 1x предполагают, что это слот PCI-e 1x. Это хорошо, но как мне связать эти выходы, чтобы определить, какой тип PCI и версия являютсябесплатнослотов на моем сервере?
Сначала я пытался предположить, Handle
что числа dmidecode
соответствуют значениям первого столбца в lspci
выводе, но это не так. Есть идеи?
РЕДАКТИРОВАТЬ
Согласно комментарию Марка Вагнера, числа между lspci
и dmidecode
не совпадают, поскольку lspci
показывает информацию о мосте, а не слоте, и lspci
не показывает ничего для неиспользуемых слотов. Это означает, lspci
что это бесполезно в моем случае, мой вопрос все тот же, но, скорее всего, ответ не будет использовать lspci
.
решение1
Вы можете использовать dmidecode с опцией slot примерно так:
$ sudo dmidecode -t slot |grep -A 4 -B 5 Доступно
Дескриптор 0x0900, тип DMI 9, 17 байт Информация о системном слоте Обозначение: PCI1 Тип: x8 PCI Express 3 x16 Текущее использование: Доступно Длина: Длинный ID: 1 Характеристики: Предоставляется напряжение 3,3 В
если вы хотите проверить, какие из них используются, это то же самое:
$ sudo dmidecode -t slot |grep -A 4 -B 5 "Используется"
Дескриптор 0x0901, тип DMI 9, 17 байт Информация о системном слоте Обозначение: PCI2 Тип: x16 PCI Express 3 Текущее использование: Используется Длина: Длинный ID: 2 Характеристики: Предоставляется напряжение 3,3 В