1、什麼是大頁內存
大內存頁”有助於 Linux 系統進行虛擬內存管理。顧名思義,除了標準的 4KB 大小的頁面外,它們還能幫助管理內存中的巨大的頁面。使用“大內存頁”,你最大可以定義 1GB 的頁面大小。
2、爲什麼使用大頁內存
如果在系統中使用了huge page,則內存頁的數量會減少,從而需要更少的頁表(page table),節約了頁表所佔用的內存數量,並且所需的地址轉換也減少了,TLB緩存失效的次數就減少了,從而提高了內存訪問的性能。另外,由於地址轉換所需的信息一般保存在CPU的緩存中,huge page的使用讓地址轉換信息減少,從而減少了CPU緩存的使用,減輕了CPU緩存的壓力,讓CPU緩存能更多地用於應用程序的數據緩存,也能夠在整體上提升系統的性能。
3、怎樣使用大頁內存
1)查看大頁詳情
[root@VM_0_11_centos ~]# grep Huge /proc/meminfo
AnonHugePages: 51200 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB #2M大小的大頁
[root@VM_0_11_centos ~]#
2)更改大頁數量
[root@VM_0_11_centos ~]# cat /proc/sys/vm/nr_hugepages
0
[root@VM_0_11_centos ~]# echo 10 > /proc/sys/vm/nr_hugepages
3)配置內核大頁
vm.nr_hugepages=126 #將下面內容添加到 /etc/sysctl.conf 中,然後輸入 sysctl -p 命令重新加載配置
4)grub啓動參數
grub2:
default_hugepagesz=1G hugepagesz=1G hugepages=1
設置到/etc/default/grub
中的GRUB_CMDLINE_LINUX
中,然後運行update-grub
更新啓動參數配置文件 /boot/grub/grub.cfg
。