Para criar opções como essa permanente, você normalmente as adicionará ao arquivo /etc/sysctl.conf
. Você pode ver uma lista completa das opções disponíveis usando este comando:
$ sysctl -a
Exemplo
$ 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
Você pode procurar hugepage
na saída assim:
$ 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
Não está lá?
No entanto, ao analisar a saída, não vi transparent_hugepage
. Pesquisando um pouco mais eu encontrei esta página da Oracle que discute este mesmo tópico. A página é intitulada: Configurando o HugePages for Oracle em Linux (x86-64) .
Especificamente nessa página, eles mencionam como desativa o recurso de página de visita .
trecho
The preferred method to disable Transparent HugePages is to add "transparent_hugepage=never" to the kernel boot line in the "/etc/grub.conf" file.
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
The server must be rebooted for this to take effect.
Como alternativa, você pode adicionar o comando ao seu arquivo /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
Acho que escolheria a segunda opção, pois a primeira corre o risco de ficar desanexada quando você atualiza de um kernel para o outro.
Você pode confirmar que funcionou com o seguinte comando após a reinicialização:
$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]