Gdy dysk SSD NVMe jest zainstalowany w gnieździe obsługującym mniej linii PCIe niż sam dysk, sama nazwa modelu nie pozwala określić aktywnego połączenia. Wątek społeczności wykorzystał polecenie lspci, aby porównać możliwości PCIe urządzenia z faktycznie wynegocjowanym połączeniem.
Sprawdzanie możliwości połączenia i jego bieżącego stanu
Kompaktowe polecenie udostępnione w wątku to:


sudo lspci -vv | grep -E 'PCI bridge|LnkCap|LnkSta'
W przypadku konkretnego urządzenia PCI zwykle łatwiej jest sprawdzić je bezpośrednio po poznaniu jego adresu magistrali:
sudo lspci -s 05:00.0 -vv
Najważniejsze pola to:
- LnkCap: szybkość i szerokość PCIe, które punkt końcowy lub połączenie może zgłaszać.
- LnkSta: aktualnie wynegocjowana szybkość i szerokość połączenia.
Jeśli dysk może działać przy szerszym połączeniu, ale LnkSta pokazuje mniej linii, platforma obecnie obsługuje to urządzenie z mniejszą wynegocjowaną szerokością.
Mapowanie nazw NVMe na adresy PCIe
Autor pierwotnego wpisu uznał również szczegółowe dane wyjściowe nvme-cli za przydatne do powiązania nazw urządzeń Linuksa z kontrolerami i adresami PCIe:
nvme list -v
Ułatwia to powiązanie wpisu takiego jak /dev/nvme1 z adresem PCI sprawdzanym za pomocą lspci.
Szybkość połączenia to nie to samo co rzeczywista przepustowość dysku SSD
LnkSta odpowiada na pytanie dotyczące negocjacji PCIe. Nie informuje jednak o rzeczywistej sekwencyjnej szybkości zapisu dysku SSD, losowej liczbie operacji I/O na sekundę, dławieniu termicznym ani wydajności utrzymywanej w dłuższym czasie.
Do sprawdzania rzeczywistego działania I/O użyj odpowiedniego testu porównawczego na przeznaczonych do tego danych testowych i dokładnie określ obciążenie. Dokumentacja obciążeń fio wyjaśnia, dlaczego rozmiar bloku, głębokość kolejki, wzorzec dostępu, mechanizm I/O i rozmiar testu wpływają na wynik.
Nie uruchamiaj destrukcyjnych testów na surowym urządzeniu na systemie plików ani dysku zawierającym potrzebne dane.
Aktualny kontekst PCIe i testów porównawczych
Ekosystem PCIe Zima pomaga zrozumieć różnicę między fizycznym gniazdem a jego rzeczywistą elektryczną szerokością magistrali. Karty rozszerzeń PCIe pokazują rodzaje adapterów NVMe i sieciowych używanych w projektach rozbudowy Zima, natomiast sprzęt ZimaBoard 2 stanowi konkretny, aktualny przykład platformy, w której generacja PCIe i liczba linii są jednoznacznie określone.
Inspekcja urządzeń za pomocą lspci definiuje lspci jako narzędzie Linuksa do sprawdzania magistral i urządzeń PCI, natomiast wyświetlanie urządzeń za pomocą nvme-cli pokazuje, jak nvme list -v mapuje kontrolery, przestrzenie nazw, transport i adresy PCIe. Do pomiaru I/O, a nie negocjacji magistrali, użyj dokumentacji obciążeń fio; głębokość kolejki, rozmiar bloku, proporcje odczytu do zapisu i rozmiar testu wpływają na wynik.
Podsumowanie
Użyj lspci -vv, aby zweryfikować wynegocjowaną generację PCIe i szerokość magistrali, a następnie użyj nvme list -v, aby powiązać urządzenia NVMe z ich adresami PCIe. Jeśli potrzebujesz rzeczywistej przepustowości pamięci masowej, przeprowadź osobny test porównawczy. Wynegocjowana szybkość połączenia jest właściwością magistrali, a nie wynikiem wydajności dysku SSD.
