core_binded_node/core_binded_cores fields themselves. This page covers how to fill
them in deliberately, using your node’s real NUMA topology.
Inspecting your node’s CPU and NUMA layout
Before settingcore_binded_node/core_binded_cores by hand, find your node’s real
CPU and NUMA layout. Two common tools:
lscpu prints the NUMA node count and, for each node, the CPU ids that belong to it:
numactl --hardware (package numactl) gives the same CPU breakdown plus each NUMA
node’s local memory:
numa_specs below: pick a NUMA node, use
its CPU list (or a subset) as core_binded_cores, and set core_binded_node to match.
Reading probed NUMA data
If you created your config with--probe-nodes (see
What Changes on Your Nodes),
each node’s config.numa_specs is filled in with something like:
Setting core binding manually
To pin a module to a set of cores, set both fields in itsconfig:
core_binded_nodeidentifies which NUMA node this binding corresponds to (for your own reference; it’s not cross-checked againstnuma_specs).core_binded_coresaccepts individual CPU ids, ranges, or a mix, comma-separated (e.g.0-5,0,1,2, or0-3,8,10-11). Unlike the flat comma-separated list innuma_specs.cpu, ranges are written with a hyphen here.- If
num_threadsis left unset, it’s derived automatically from the core count. If you set it explicitly, it must not exceed the number of cores incore_binded_cores.
numa_specs, use a subset (or all) of its CPU
list as core_binded_cores, and set core_binded_node to that NUMA node’s id.