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


22 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