Senior LevelLinux Commands & SysAdmin
What is NUMA (Non-Uniform Memory Access) architecture and how do you prevent remote memory node latency?
❓ Interview Prompt: Explain NUMA architecture, NUMA nodes (local CPU + RAM), QuickPath Interconnect (QPI) latency, numactl, and numad daemon.
Modern multi-socket server hardware uses NUMA (Non-Uniform Memory Access) architecture, where each physical CPU socket is connected to a dedicated local RAM node:
Memory Latency Differential:
•
Local Memory Access: Ultra-fast latency accessing RAM connected to the same CPU socket.
•
Remote Memory Access: Slower latency traversing inter-socket interconnects (QPI/UPI) to read RAM connected to a different CPU socket.
•
Tuning: Use 'numactl --membind=0 --cpunodebind=0 <command>' to pin latency-critical processes to local NUMA nodes!
Code Implementation Example
bash
# Inspect NUMA hardware topology and memory distribution per node
numactl --hardware
# Bind application process to NUMA CPU Node 0 and Memory Node 0
numactl --cpunodebind=0 --membind=0 /usr/bin/redis-server /etc/redis.conf💡Inspecting NUMA topology and pinning processes to local NUMA nodes.
🎯 Interview Key Takeaway
Pin latency-sensitive applications to local NUMA nodes using numactl to eliminate cross-socket QPI memory latency.
#NUMA#numactl#Hardware Tuning#Senior
Back to all Linux Commands & SysAdmin Questions→