Suponiendo que el sistema operativo Linux es bastante reciente, ¿hay una manera fácil de determinar a qué nodo NUMA pertenece la ranura PCIe, donde está conectado un dispositivo?
9
Suponiendo que el sistema operativo Linux es bastante reciente, ¿hay una manera fácil de determinar a qué nodo NUMA pertenece la ranura PCIe, donde está conectado un dispositivo?
Debe ir al directorio de la ranura PCIe en cuestión, por ejemplo eth0
:
cd /sys/class/net/eth0/device
donde se encuentra numa_node
, local_cpus
y local_cpulist
, los tres archivos de su interés. Puede simplemente cat
ellos y ver los datos deseados.
numa_node = -1
ylocal_cpulist = 0-15
. Eso no puede ser correcto, tengo 2 nodos numa según lo confirmado por hwloc.También puede usar hwloc ( http://www.open-mpi.de/projects/hwloc/ ) si conoce la identificación del dispositivo. Sin embargo, si tiene 2 del mismo dispositivo (por ejemplo, GPU), la única forma de conocer el nodo NUMA al que está asociada la ranura física es echar un vistazo al manual de la placa base.
Para el Asus Z9PE-D8 ( http://dlcdnet.asus.com/pub/ASUS/mb/LGA2011/Z9PE-D8-WS/Manual/e8726_z9pe-d8_ws.pdf ) está en la página 223.
fuente
La respuesta aceptada solo funciona para tarjetas de red, por lo que he encontrado. Según la respuesta de GuillermoMA, hwloc te dará el trato real incluso si no es tan legible.
lstopo
se encuentra en el paquete hwloc (al menos en RHEL 7):NUMANode L # 0 es, por supuesto, CPU0 y NUMANode L # 1 es CPU1. Luego puede tomar su número PCI favorito de los anteriores, por ejemplo, 14e4: 16a1, y descubrir cuál es, y su dirección PCI para un análisis posterior de
lspci
:En una de mis máquinas, una tarjeta de canal de fibra Emulex no apareció en la
lstopo
salida. Lo encontré usandolstopo --whole-io
, realizando el proceso de búsqueda inversa (desplácese hacia la derecha si es necesario, para ver el número hexadecimal de 10df que busco):Elimine el comando grep entubado, arriba, y revise la salida de forma semi-manual para encontrar el dispositivo en la
lstopo --whole-io
pantalla completa (izquierda como ejercicio para el lector).fuente
lspci -nn | grep PCINUMBER
me alegró el día. Tengo dos Samsung 970 Pro y ese comando me ayudó a identificarlos desde laltopo
salida. Gracias.Uno puede usar:
# cat /sys/bus/pci/devices/<PCI device>/numa_node
Obtenga la dirección del dispositivo PCI utilizando
# lspci -nn
fuente