Pertanyaan
Saya tahu cara memeriksa berapa banyak slot PCI yang belum digunakan di server saya, menggunakan dmidecode dan mencari slot 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 supporteddan saya juga tahu cara memeriksa tipe dan versi PCI apa saja yang ada di semua slot server (terpakai dan tersedia), menggunakan lspci -vvv dan mencari data 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, ...di mana kecepatan 2.5GT/s dan lebar x1 menunjukkan slot PCI-e 1x. Itu bagus, tetapi bagaimana cara menghubungkan keluaran ini untuk mengetahui tipe dan versi PCI dari slot gratis di server saya?
Saya awalnya mencoba mengasumsikan nomor Handle dari dmidecode cocok dengan nilai kolom pertama di keluaran lspci, tetapi ternyata tidak. Ada ide?
Edit: Sesuai komentar, angka antara lspci dan dmidecode tidak cocok karena lspci menampilkan informasi tentang jembatan, bukan slot, dan lspci tidak menampilkan apa pun untuk slot yang tidak terpakai. Artinya lspci tidak berguna dalam kasus ini; pertanyaan saya tetap sama, tetapi kemungkinan jawabannya tidak akan menggunakan lspci.
Jawaban
Anda dapat menggunakan dmidecode dengan opsi slot seperti ini:
$ sudo dmidecode -t slot |grep -A 4 -B 5 AvailableHandle 0x0900, DMI type 9, 17 bytes System Slot Information Designation: PCI1 Type: x8 PCI Express 3 x16 Current Usage: Available Length: Long ID: 1 Characteristics: 3.3 V is providedJika Anda ingin memeriksa slot yang sedang digunakan, gunakan perintah yang sama dengan "In Use":
$ sudo dmidecode -t slot |grep -A 4 -B 5 "In Use"Handle 0x0901, DMI type 9, 17 bytes System Slot Information Designation: PCI2 Type: x16 PCI Express 3 Current Usage: In Use Length: Long ID: 2 Characteristics: 3.3 V is provided