linux系统自带了一技术叫透明巨型页(transparent huge page),它允许所有的空余内存被用作缓存以提高性能,而且这个设置是默认开启的,我们不需要手动去操作。
Centos下,我们用cat /sys/kernel/mm/transparent_hugepage/enabled可以查看
我们看到这个中括号把这个always括起来了,说明这机器的透明巨型页的功能是打开的。当有512个页面可以整合的时候,就会合成一个2MB的大页;如果是在括号把never括起来了,那么就是关闭状态;madvise的话就是避免改变内存占用。
当然,如果你想改变透明巨型页的状态,比如说关闭它,那么运行下面的命令即可:
# echo never >/sys/kernel/mm/transparent_hugepage/enabled
最后要注意的是透明巨型页跟hugetlbfs 文件挂载大页是不冲突的,如果你没做任何大页的指定和挂载,那么KVM就会使用透明大页的方式。