Your kernel may have been built without NUMA support
Data Structures & Algorithms practice on Codemia
Step through 300 algorithm problems with animated visualisers that show the data structure changing as the code runs.
Introduction
The message "your kernel may have been built without NUMA support" usually appears when software checks for NUMA features and cannot find them. NUMA stands for Non-Uniform Memory Access, a hardware and kernel feature that matters mainly on systems with multiple CPU sockets or complex memory topology. On many developer machines, this warning is informational rather than catastrophic.
What NUMA Support Changes
In a NUMA system, memory is divided into nodes that are physically closer to some CPUs than others. Accessing local memory is faster than accessing remote memory. A NUMA-aware kernel can expose that topology to the scheduler and memory allocator so processes can stay closer to their preferred memory node.
If the kernel lacks NUMA support, the system behaves more like a uniform-memory machine from software's perspective. That may reduce performance on large multi-socket servers, but it often makes little or no difference on laptops, desktops, or single-socket machines.
How to Check Whether NUMA Is Actually Relevant
First check the hardware and the kernel view of it.
What to look for:
- if
lscpureports only one NUMA node, the warning is usually harmless - if
numactl --hardwareis unavailable or shows no nodes, the machine may not expose NUMA topology - if the kernel config shows
CONFIG_NUMA=n, the running kernel was not built with NUMA enabled
Not every machine even benefits from NUMA awareness. If there is only one node, enabling NUMA support will not create extra performance out of nowhere.
Why Frameworks Print This Warning
Libraries such as TensorFlow, PyTorch, database engines, and JVM-based systems probe the machine for CPU and memory topology because it can affect threading and memory placement decisions. If they expected NUMA information and the kernel does not provide it, they may print a warning.
That warning does not automatically mean the application is broken. It means one optimization path is unavailable.
When You Should Care
You should care if all of these are true:
- the machine has multiple NUMA nodes
- the workload is memory-intensive or highly parallel
- performance or tail latency matters
- you are benchmarking or serving production traffic on that host
In that environment, a non-NUMA-aware kernel can reduce locality and increase remote-memory access.
You usually do not need to care much if you are on a workstation with one socket and one visible NUMA node. In that case, the warning is mostly noise.
What to Do If NUMA Support Is Missing
If you confirmed the hardware is NUMA-capable and the running kernel disables NUMA, the fix is operational rather than application-level. You need a kernel build that enables NUMA support.
On a distribution kernel, that often means installing the standard vendor kernel instead of a stripped-down custom build. On custom kernels, it means enabling the relevant kernel option and rebooting into that build.
After rebooting, verify again:
Application-Level Workarounds
Even without NUMA-aware kernel support, you can still improve behavior in other ways:
- set sensible thread counts
- avoid oversubscribing CPU cores
- reduce memory pressure
- benchmark on hardware that matches production
For example, a machine learning workload may gain more from correct batch sizing or thread-pool settings than from NUMA tuning on a single-node workstation.
Common Pitfalls
The most common mistake is treating the warning as a guaranteed error. It often just means the program could not enable an optional optimization.
Another mistake is trying to fix NUMA warnings on hardware that has only one node. That effort usually produces no practical gain.
A third problem is benchmarking server software on a non-representative development machine and then drawing conclusions about NUMA-related performance.
Summary
- The warning means the application could not find kernel-level NUMA support
- NUMA mainly matters on multi-socket or multi-node systems
- On single-node developer machines, the warning is often harmless
- Check hardware topology and
CONFIG_NUMAbefore trying to fix anything - Only invest in NUMA support if the machine and workload can actually benefit from it
Related reading
- YouTube URL algorithm?
- 0-1 Knapsack w/ partitioning constraints
- 0/1 knapsack with dependent item weight?
- 100% cpu usage by all kafka brokers
- 128-bit struct or 2 64-bit records for performance and readibility
- 1 thread vs 5 threads for distributed system communications?
- 1d Array - determine best container size with minimum waste
- 2D Bin Packing Algorithm

DSA Fundamentals
Master algorithmic patterns and data structures through hands-on LeetCode-style problems - from arrays and hashing to dynamic programming and advanced graphs.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
Data Structures & Algorithms practice on Codemia
Step through 300 algorithm problems with animated visualisers that show the data structure changing as the code runs.