Cuando se instala un SSD NVMe en una ranura que admite menos líneas PCIe que la propia unidad, el nombre del modelo por sí solo no permite saber cuál es el enlace activo. En el hilo de la comunidad se utilizó lspci para comparar la capacidad PCIe del dispositivo con el enlace que se negoció realmente.
Comprobar la capacidad del enlace y su estado actual
El comando compacto compartido en el hilo fue:


sudo lspci -vv | grep -E 'PCI bridge|LnkCap|LnkSta'
Para un dispositivo PCI específico, normalmente es más fácil inspeccionarlo directamente cuando ya se conoce su dirección de bus:
sudo lspci -s 05:00.0 -vv
Los campos importantes son:
- LnkCap: la velocidad y el ancho PCIe que el punto final o el enlace puede anunciar.
- LnkSta: la velocidad y el ancho de enlace negociados actualmente.
Si una unidad puede funcionar con un enlace más ancho, pero LnkSta muestra menos líneas, la plataforma está utilizando actualmente esa unidad con el ancho negociado más estrecho.
Asociar los nombres NVMe con las direcciones PCIe
El autor original también consideró útil la salida detallada de nvme-cli para asociar los nombres de los dispositivos de Linux con los controladores y las direcciones PCIe:
nvme list -v
Esto facilita asociar una entrada como /dev/nvme1 con la dirección PCI que se inspecciona mediante lspci.
La velocidad del enlace no equivale al rendimiento real del SSD
LnkSta responde a la pregunta sobre la negociación PCIe. No indica la velocidad real de escritura secuencial del SSD, sus IOPS aleatorias, el comportamiento de limitación térmica ni el rendimiento sostenido.
Para evaluar el comportamiento real de E/S, utiliza un banco de pruebas adecuado con datos de prueba desechables y define cuidadosamente la carga de trabajo. La documentación de cargas de trabajo de fio explica por qué el tamaño de bloque, la profundidad de cola, el patrón de acceso, el motor de E/S y el tamaño de la prueba modifican el resultado.
No ejecutes bancos de pruebas destructivos sobre dispositivos sin formato en un sistema de archivos o disco que contenga datos que necesites.
Contexto actual de PCIe y los bancos de pruebas
El ecosistema PCIe de Zima resulta útil para entender la diferencia entre una ranura física y su ancho real de líneas eléctricas. Las tarjetas de expansión PCIe muestran los tipos de adaptadores NVMe y de red utilizados en proyectos de expansión de Zima, mientras que el hardware de ZimaBoard 2 ofrece un ejemplo actual concreto de una plataforma cuyas generaciones PCIe y cantidad de líneas están especificadas explícitamente.
La inspección de dispositivos con lspci define lspci como la utilidad de Linux para inspeccionar buses y dispositivos PCI, mientras que el listado de dispositivos de nvme-cli muestra cómo nvme list -v asocia controladores, espacios de nombres, transporte y direcciones PCIe. Para medir la E/S en lugar de la negociación del bus, utiliza la documentación de cargas de trabajo de fio; la profundidad de cola, el tamaño de bloque, la combinación de lecturas y escrituras y el tamaño de la prueba modifican el resultado.
En resumen
Utiliza lspci -vv para verificar la generación PCIe y el ancho de enlace negociados, y utiliza nvme list -v para asociar los dispositivos NVMe con sus direcciones PCIe. Después, ejecuta un banco de pruebas por separado si necesitas conocer el rendimiento real del almacenamiento. La velocidad de enlace negociada es una propiedad del bus, no una medida del rendimiento del SSD.
