aboutsummaryrefslogblamecommitdiff
path: root/tools/numap/README.org
blob: c7941b18fc632646303819477784f3fc91d87814 (plain) (tree)














































                                                                                                                              
#+TITLE: numap

Print the NUMA topology of a host.

* Usage
#+BEGIN_SRC sh
./numap |jq .
{
  "node0": {
    "name": "node0",
    "path": "/sys/devices/system/node/node0",
    "cpulist": "0-19,40-59",
    "pci_devices": [
      {
        "vendor": "Mellanox Technologies",
        "name": "MT27710 Family [ConnectX-4 Lx]"
      },
      {
        "vendor": "Mellanox Technologies",
        "name": "MT27710 Family [ConnectX-4 Lx]"
      }
    ]
  },
  "node1": {
    "name": "node1",
    "path": "/sys/devices/system/node/node1",
    "cpulist": "20-39,60-79",
    "pci_devices": [
      {
        "vendor": "Intel Corporation",
        "name": "NVMe Datacenter SSD [3DNAND, Beta Rock Controller]"
      }
    ]
  }
}
#+END_SRC

The command will scan the host to find the NUMA nodes, and all the PCI devices, and map the PCI devices back to the NUMA node.

It also provides a way to see the list of CPUs attached to the node.

* Limitations
** Device class
For now only the following classes of hardware are cared for:
- NVMe
- network
- GPU