Memory Configuration

The xiRAID Opus uses huge memory pages. The amount of huge memory needs to be specified during the product configuration at installation. Failing to configure the huge memory will result in the product not starting or functioning properly. You can check the size of the configured huge memory, using the command:

$ xnr_cli config get --name hugemem_2mb

After the initial configuration and the engine, this parameter can be updated using the command:

$ xnr_cli config set --name hugemem_2mb --value <new_hugemem_value>

where new_hugemem_value is the comma separated list of hugemem memory size in megabytes to be allocated at corresponded NUMA nodes. For example, the “16000,8000” value instruct the engine to allocate 16000 MB at the first NUMA node and 8000 MB at the second NUMA node. The value “32000” instructs to allocate 32 GB at first NUMA node only and the value “0,32000“ instructs to allocate 32 GB at the second NUMA node only. The current xiRAID release does not support memory domains. For optimal performance it is recommended to allocate the memory at one NUMA node anly and the node number should corresponds to the CPU mask where the engine is running. The xiRAID service shall be restarted to apply new memory configuration.

There is no limitation on the hugemem size except for the size of the physical memory on your hardware. It is recommended to set it to at least 32 GB. If you pass too big value for the hugemem the following error will be in the syslog and the actual hugemem parameter will not be updated:

xnr_plt_set_hugemem: ERROR: Node 0, hugepages 2048kB requested 450000, allocated 4578