ОС Ubuntu заточена на экономное расходование ресурсов, а «пожирание» памяти майнером не является таковым. Поэтому для выделения майнеру ресурсов нужно «немного поработать напильником». Но это стоит затраченных усилий и времени.
Например, на древнем (2008 год) процессоре Xeon X3330 (2,6 ГГц), не умеющем вычислять по инструкциям AES, при майнинге Монеро на Random X хешрейт без huge pages равен 200-210 h/s (на двух потоках). При их включении скорость вычислений возрастает до порядка 270 h/s (выигрыш на 25-30%).
На более современных процессорах разница может быть еще более существенной.

Скриншот майнера xmrig, работающего без включения huge pages
Рассмотрим подробнее, как проверить включена ли поддержка huge pages в Linux-подобных системах и как их задействовать для майнинга (на примере XUBUNTU 16.04).
Проверка ОС Ubuntu на предмет включения huge pages
Прежде всего, нужно проверить, имеется ли поддержка hugepages на уровне железа. Это делается с помощью команды:
cat /sys/kernel/mm/transparent_hugepage/enabled

В строке ответа системы в значении, заключенном в квадратные скобки, отображается наличие поддержки hugepages. Если высвечивается значение madvise, то в данной системе имеется поддержка huge pages . Если отображается значение [never], то данная система не имеет поддержки hugepages и стоит задуматься об апгрейде…
При наличии поддержки huge pages на аппаратном уровне нужно проверить, задействованы ли они и сколько страниц памяти зарезервировано. Для этого в терминале Ubuntu вводят команду:
sudo cat /proc/sys/vm/nr_hugepages
Эта команда показывает число страниц памяти, которые ядро системы (kernel) выделяет (резервирует) на нужды пользователя.

Скриншот терминала, отображающего информацию о включении и числе выделенных hugepages
Для включения, а также изменения количества выделенной физической памяти на постоянной основе используется изменение параметров ядра Ubuntu через файл конфигурации sysctl.conf.
Включение поддержки адресации huge pages в Ubuntu
В версии xmrig 5.2.0 и выше есть возможность включения поддержки huge pages на лету, но это требует рут-привилегий для программы-майнера.
Эту же операции для текущей сессии (до перезагрузки системы) можно сделать (с привилегиями root) командой:
sysctl -w vm.nr_hugepages=1280, где 1280 – количество выделяемых больших страниц памяти.
Более разумно обеспечить работоспособность больших страниц памяти на этапе загрузки ядра с помощью конфигурационного файла sysctl.conf.
Это делается командой:
sudo echo "vm.nr_hugepages=1280" >> /etc/sysctl.conf $ sudo sysctl -p $ sudo reboot
, где 1280 – это число зарезервированных страниц памяти.
Можно сделать аналогичную операцию с помощью утилиты nano и команды:
sudo nano /etc/sysctl.conf
В появившемся окне терминала нужно пролистать sysctl.conf до конца и вписать в него:
# enable huge/large pages for Monero mining
vm.nr_hugepages=1280

Затем нужно сохранить изменения (клавиши ctrl+O), нажать Enter, Ctrl+x и перезагрузить компьютер (sudo reboot).
Как подсчитать количество huge pages для выдления ядром системы Ubuntu?
Если зарезервировать слишком мало страниц, то майнер не будет работать в полную силу. Например, при резервировании 128 страниц xmrig показывает, что имеется всего 11% от необходимых 1168 страниц:

Исходя из информации в майнере, для его работы нужно 1168 страниц больших страниц памяти:

Майнер xmrig на RandomX с 1168 страницами памяти показывает вроде бы достаточное количество страниц, но все равно не использует их:

По рекомендациям разработчиков xmrig, для майнинга на алгоритмах типа RandomX нужно 1280 страниц на одну ноду NUMA и 128 страниц – для других алгоритмов.
Это совпадает с практикой, что видно на скрине майнера компьютера с выделенными 1280 hugepages:

Использование 1280 зарезервированных страниц означает, что в системе станет меньше на не менее 1280х2=2560 Мб доступной памяти (при стандартном размере страницы памяти в 2MB ).
Поэтому при ограниченном ОЗУ использование huge pages может привести к обратному эффекту – снижению хешрейта из-за нехватки физической памяти для нужд системы.