如果你也是grub2的linux系统,请通过以下步骤关闭大内存页面。
step1 编辑 /etc/default/grub,在GRUB_CMDLINE_LINUX加入选项 transparent_hugepage=never
1
2
3
4
5
6
7
|
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed
's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap
rd.lvm.lv=fedora/root rhgb quiet transparent_hugepage=never" GRUB_DISABLE_RECOVERY="true" |
step2 重新生成grub配置文件
1
2
3
4
|
On
BIOS-based machines, issue the following command as
root: #
grub2-mkconfig -o /boot/grub2/grub.cfg On
UEFI-based machines, issue the following command as
root: #
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg |
step3 重启你的系统
至此大功告成,如果你使用的是grub,请把选项写入grub.conf文件就好了。
查询hugepage状态,第一种方式
1
2
3
4
|
[root@localhost
yucanlin] #
cat /sys/kernel/mm/transparent_hugepage/enabled always
madvise [never] [root@localhost
yucanlin] #
cat /sys/kernel/mm/transparent_hugepage/defrag always
madvise [never] |
never就对了。
第二种方式
1
2
3
4
5
6
7
|
[yucanlin@localhost
~]$ grep Huge /proc/meminfo AnonHugePages:
0 kB HugePages_Total:
0 HugePages_Free:
0 HugePages_Rsvd:
0 HugePages_Surp:
0 Hugepagesize:
2048 kB |
0就对了。
不过有个小遗憾,重启后我发现 enabled 是never,但defrag却依然是always,不过经过查询meminfo,大内存页面是被禁用了。就不去管他了。