How to Check NUMA Support on HP ProLiant DL320 G5 Server for Performance Optimization


2 views

The HP ProLiant DL320 G5 server (released circa 2007) predates widespread NUMA adoption in single-socket systems. For definitive verification, use these Linux commands:

# Method 1: Check NUMA nodes
numactl --hardware

# Method 2: Kernel boot messages
dmesg | grep -i numa

# Method 3: CPU topology
lscpu | grep -i numa

The DL320 G5 typically shipped with:

  • Single Intel Xeon 3000/3200 series processor (non-NUMA architecture)
  • Chipset: Intel 5000P (doesn't support multi-node configurations)
  • Maximum 1 physical CPU socket

Even if emulated, single-socket systems show these characteristics:

// Sample NUMA-aware code check
#include 

int main() {
    if (numa_available() == -1) {
        printf("NUMA not available\n");
        return 1;
    }
    printf("%d NUMA nodes detected\n", numa_max_node()+1);
    return 0;
}

For memory-bound applications on older hardware:

  1. Use mlock() to pin critical memory
  2. Implement manual memory affinity with sched_setaffinity()
  3. Consider upgrading to modern NUMA systems like DL360 Gen10+

HP's legacy specification sheets confirm:

"Single-processor configurations utilize unified memory architecture without node segmentation"


NUMA (Non-Uniform Memory Access) is a computer memory design used in multiprocessing where memory access time depends on the memory location relative to the processor. For performance-critical applications, knowing your server's NUMA configuration is essential.

Here are several methods to verify NUMA support on Linux:

# Method 1: Check NUMA nodes
numactl --hardware

# Method 2: Examine kernel messages
dmesg | grep -i numa

# Method 3: Check processor information
lscpu | grep -i numa

# Method 4: Direct sysfs check
ls /sys/devices/system/node/

For Windows environments, use these PowerShell commands:

# Get NUMA node information
Get-CimInstance Win32_ComputerSystem | Select-Object NumberOfLogicalProcessors, NumberOfProcessors

# Alternative via WMI
wmic computersystem get NumberOfLogicalProcessors,NumberOfProcessors

Based on hardware specifications, the HP ProLiant DL320 G5 server typically uses Intel Xeon 5000/5100 series processors which support NUMA architecture. However, the exact configuration depends on:

  • Processor model (some entry-level Xeons might not support NUMA)
  • BIOS settings (NUMA might be disabled by default)
  • Operating system version and configuration

To benchmark NUMA performance, you can use this simple C++ test:

#include 
#include 

int main() {
    if (numa_available() == -1) {
        std::cerr << "NUMA not available" << std::endl;
        return 1;
    }
    
    int max_node = numa_max_node();
    std::cout << "NUMA nodes available: " << max_node + 1 << std::endl;
    
    return 0;
}

On HP servers, check these BIOS settings:

  1. Reboot the server and enter BIOS (F9 during boot)
  2. Navigate to Advanced Options > Processor Options
  3. Look for NUMA or Node Interleaving settings
  4. Enable/disable as needed for your workload