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_cpusy local_cpulist, los tres archivos de su interés. Puede simplemente catellos y ver los datos deseados.
numa_node = -1ylocal_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.
lstopose 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
lstoposalida. 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-iopantalla completa (izquierda como ejercicio para el lector).fuente
lspci -nn | grep PCINUMBERme alegró el día. Tengo dos Samsung 970 Pro y ese comando me ayudó a identificarlos desde laltoposalida. Gracias.Uno puede usar:
# cat /sys/bus/pci/devices/<PCI device>/numa_nodeObtenga la dirección del dispositivo PCI utilizando
# lspci -nnfuente