Чтобы сделать такие параметры, как этот перманент, вы обычно добавляете их в файл /etc/sysctl.conf
. Вы можете увидеть полный список доступных опций с помощью этой команды:
$ sysctl -a
пример
$ sudo sysctl -a | head -5
kernel.sched_child_runs_first = 0
kernel.sched_min_granularity_ns = 6000000
kernel.sched_latency_ns = 18000000
kernel.sched_wakeup_granularity_ns = 3000000
kernel.sched_shares_ratelimit = 750000
Вы можете посмотреть hugepage
в выводе так:
$ sudo sysctl -a | grep hugepage
vm.nr_hugepages = 0
vm.nr_hugepages_mempolicy = 0
vm.hugepages_treat_as_movable = 0
vm.nr_overcommit_hugepages = 0
Это не там?
Однако просматривая вывод я не увидел transparent_hugepage
. Погуглив немного больше, я наткнулся на эту страницу Oracle, где обсуждается именно эта тема. Страница озаглавлена: Настройка HugePages для Oracle в Linux (x86-64) .
В частности, на этой странице они упоминают, как отключить функцию огромной страницы .
выдержка
Предпочтительный метод отключения Transparent HugePages - добавить «transparent_hugepage = never» в строку загрузки ядра в файле «/etc/grub.conf».
title Oracle Linux Server (2.6.39-400.24.1.el6uek.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.39-400.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_ol6112-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=uk
LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_NO_DM rd_LVM_LV=vg_ol6112/lv_swap rd_LVM_LV=vg_ol6112/lv_root rhgb quiet numa=off
transparent_hugepage=never
initrd /initramfs-2.6.39-400.24.1.el6uek.x86_64.img
Сервер должен быть перезагружен, чтобы это вступило в силу.
Или вы можете добавить команду в свой /etc/rc.local
файл.
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
Я думаю, что я выбрал бы второй вариант, так как первый рискует быть сброшенным при переходе с одного ядра на другое.
Вы можете подтвердить, что это сработало с помощью следующей команды после перезагрузки:
$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]