diff --git a/doc/guides/cryptodevs/octeontx.rst b/doc/guides/cryptodevs/octeontx.rst
index d813cb2974..a39f3f3d02 100644
--- a/doc/guides/cryptodevs/octeontx.rst
+++ b/doc/guides/cryptodevs/octeontx.rst
@@ -107,9 +107,7 @@ applications.
 
 .. code-block:: console
 
-        echo 8 > /sys/kernel/mm/hugepages/hugepages-524288kB/nr_hugepages
-        mkdir /mnt/huge
-        mount -t hugetlbfs nodev /mnt/huge
+   dpdk-hugepages.py --setup 4G --pagesize 512M
 
 Example applications can now be executed with crypto operations offloaded to
 OCTEON TX crypto PMD.
diff --git a/doc/guides/cryptodevs/octeontx2.rst b/doc/guides/cryptodevs/octeontx2.rst
index a648a33cbc..d312eeb74c 100644
--- a/doc/guides/cryptodevs/octeontx2.rst
+++ b/doc/guides/cryptodevs/octeontx2.rst
@@ -123,7 +123,7 @@ Another way to bind the VF would be to use the ``dpdk-devbind.py`` script:
 
     * Ensure that sufficient huge pages are available for your application::
 
-         echo 8 > /sys/kernel/mm/hugepages/hugepages-524288kB/nr_hugepages
+         dpdk-hugepages.py --setup 4G --pagesize 512M
 
       Refer to :ref:`linux_gsg_hugepages` for more details.
 
diff --git a/doc/guides/howto/lm_bond_virtio_sriov.rst b/doc/guides/howto/lm_bond_virtio_sriov.rst
index 16d86d122c..3e25480316 100644
--- a/doc/guides/howto/lm_bond_virtio_sriov.rst
+++ b/doc/guides/howto/lm_bond_virtio_sriov.rst
@@ -581,9 +581,9 @@ Set up DPDK in the Virtual Machine
    # virtio port is 03
    # vf port is 04
 
-   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
-   echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
-   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+   /root/dpdk/usertools/dpdk-hugepages.py --show
+   /root/dpdk/usertools/dpdk-hugepages.py --setup 2G
+   /root/dpdk/usertools/dpdk-hugepages.py --show
 
    ifconfig -a
    /root/dpdk/usertools/dpdk-devbind.py --status
diff --git a/doc/guides/howto/lm_virtio_vhost_user.rst b/doc/guides/howto/lm_virtio_vhost_user.rst
index e495ac976e..c5c48f10a9 100644
--- a/doc/guides/howto/lm_virtio_vhost_user.rst
+++ b/doc/guides/howto/lm_virtio_vhost_user.rst
@@ -411,9 +411,9 @@ setup_dpdk_virtio_in_vm.sh
    # virtio port is 03
    # virtio port is 04
 
-   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
-   echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
-   cat  /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
+   /root/dpdk/usertools/dpdk-hugepages.py --show
+   /root/dpdk/usertools/dpdk-hugepages.py --setup 2G
+   /root/dpdk/usertools/dpdk-hugepages.py --show
 
    ifconfig -a
    /root/dpdk/usertools/dpdk-devbind.py --status
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index a05b5bd816..4a401210de 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -181,6 +181,8 @@ using a ``nr_hugepages`` file in the ``/sys/devices/`` directory::
     echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
     echo 1024 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
 
+The tool ``dpdk-hugepages.py`` can be used to manage hugepages.
+
 .. note::
 
     Some kernel versions may not allow reserving 1 GB hugepages at run time,
diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst
index b47c684288..e83dd4628c 100644
--- a/doc/guides/nics/build_and_test.rst
+++ b/doc/guides/nics/build_and_test.rst
@@ -64,6 +64,12 @@ This section demonstrates how to setup and run ``testpmd`` in Linux.
 
          Hugepagesize:       2048 kB
 
+   Mount and request above can be achieved simply with this tool:
+
+   .. code-block:: console
+
+      dpdk-hugepages.py --setup 2G
+
 #. Load ``igb_uio`` or ``vfio-pci`` driver:
 
    .. code-block:: console
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 09cfb5c9cc..9742ddb268 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -405,7 +405,7 @@ devices managed by librte_net_mlx4.
 
 #. Request huge pages::
 
-      echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages/nr_hugepages
+      dpdk-hugepages.py --setup 2G
 
 #. Start testpmd with basic parameters::
 
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index d8c90419d0..7c50497fbc 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -1712,7 +1712,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
 
 #. Request huge pages::
 
-      echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages/nr_hugepages
+      dpdk-hugepages.py --setup 2G
 
 #. Start testpmd with basic parameters::
 
diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index 518adf4b1c..02e74a6e77 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -152,7 +152,7 @@ Host2VM communication example
     .. code-block:: console
 
         modprobe uio
-        echo 512 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
+        dpdk-hugepages.py --setup 1G
         modprobe uio_pci_generic
         ./usertools/dpdk-devbind.py -b uio_pci_generic 00:03.0
 
diff --git a/doc/guides/sample_app_ug/vhost.rst b/doc/guides/sample_app_ug/vhost.rst
index 15aaff2493..09b1b6c57d 100644
--- a/doc/guides/sample_app_ug/vhost.rst
+++ b/doc/guides/sample_app_ug/vhost.rst
@@ -188,7 +188,7 @@ Common Issues
 
   .. code-block:: console
 
-      cat /sys/kernel/mm/hugepages/hugepages-<pagesize>/nr_hugepages
+     dpdk-hugepages.py --show
 
   The command above indicates how many hugepages are free to support QEMU's
   allocation request.
