NUMA and Memory Allocation Issues

Basic Troubleshooting

Platform
Napatech SmartNIC
Content Type
User Guide
Capture Software Version
Link™ Capture Software 12.11

The Napatech driver and ntservice may fail to start if contiguous memory cannot be allocated to NUMA nodes, which can be prevented by loading the driver and ntservice before other applications or by reconfiguring the system's NUMA settings in the BIOS.

Napatech driver and ntservice fail to start

When the Napatech driver is loaded, it attempts to allocate 4 Mbytes of contiguous memory to all NUMA nodes. The driver and ntservice fail to start if no contiguous memory is available on any NUMA node.

The Napatech driver requires contiguous memory for allocation. The following error messages may appear either in the dmesg output or in the ntlog output:
  • In the dmesg output:
    insmod: page allocation failure: order 10, mode:
  • In the ntlog output:
    Failed to allocate segment #127, NUMA node 0
Note: The dmesg warning may be innocuous. Some older server configurations may allocate NUMA nodes, without associating memory with them. In this case, this message can be ignored if it is not relevant to your troubleshooting.
Either of these errors indicate that the system cannot allocate memory to a specific NUMA node. This could be related to the server configuration, such as reserving too many hugepages through the Linux command line, or because other applications have already allocated all available memory before either the kernel module (in the case of the dmesgmessage) or ntservice (in the case of the ntlog message) has loaded.

To avoid this issue, make sure that the Napatech driver is loaded and ntservice is started before any other applications after system boot. Alternatively, reduce the number of NUMA nodes as needed in the BIOS settings. Some systems allow to manually set the number of active NUMA nodes.