DOCA doca-hugepages Tool
This guide provides an overview of the doca-hugepages tool, including its purpose, usage instructions, command syntax, and integration guidelines for managing hugepage allocations in NVIDIA DOCA environments.
The doca-hugepages tool manages hugepages configurations for various applications. It enables users to configure, reload, remove, and display hugepages settings efficiently. The tool is located at /usr/sbin/doca-hugepages.
All doca-hugepages commands begin with doca-hugepages and fall into the following categories:
config– Adds or updates an application's configuration in the database. This command does not apply changes immediately; use thereloadcommand to allocate hugepages based on the updated configuration.reload– Reloads the hugepages configuration for all applications according to the current database.remove– Removes an application's configuration from the database.show– Displays the current hugepages configuration for all applications.original-config– Manages and displays the original system configuration saved by the tool.
config
Adds or updates an application's configuration in the database.
doca-hugepages config [-h] --app APP --size SIZE --num NUM [--force]
doca-hugepages config Flags:
--force (optional) Forces updating the configuration without prompting.
--app Name of the application.
--size Hugepage size in kB.
--num Number of hugepages to allocate.
For example:
doca-hugepages config --app myApp --size 2048 --num 10
reload
Reloads the hugepages configuration for all applications.
doca-hugepages reload
remove
Removes an application's configuration from the database.
doca-hugepages remove <app>
doca-hugepages remove Flags:
--all: Removes all configurations for the app without prompting.
show
Displays the current hugepages configuration for all applications.
doca-hugepages show
original-config
Manages the original system configuration captured by the tool on its first run. This snapshot serves as a reference for restoring or comparing configurations.
doca-hugepages original-config {update,show}
doca-hugepages original-config Flags:
show: Display the original system configuration.
update: Override the original system configuration.
Important Notes
Always run
doca-hugepages reloadafter updating configurations to apply changes.Use
--forcewith caution to avoid unintended updates.Periodically use
showto verify the active configuration.
The doca-hugepages tool is not supported on systems where hugepages are configured through GRUB (e.g., via /etc/default/grub). These two methods are mutually exclusive. Attempting to use both may result in unpredictable behavior or configuration conflicts.
To use doca-hugepages, ensure that all hugepages-related GRUB parameters are removed. Conversely, when using GRUB-based configuration, do not invoke doca-hugepages.
Custom per-application hugepages configurations can be integrated into packages by placing a configuration file in the /etc/mellanox/hugepages.d/ directory.
Example:
APP.json
/etc/mellanox/hugepages.d/APP.json
{
"2048": {
"num": 1024,
"is_active": "inactive"
}
}
In this example:
"2048"– Hugepage size in kilobytes"num"– Number of hugepages to allocate"is_active"– Marks the configuration as"active"or"inactive"TipNVIDIA recommends setting
"is_active": "inactive"and using thedoca-hugepagestool to activate the configuration during driver load or system boot. This workflow is supported only on Ubuntu 22.04 systems running on BlueField platforms.