简介
从RedHat6, RedHat7, OL6, OL7 SLES11 and UEK2 kernels开始,透明大页默认是被开启的以便去改善操作系统的内存管理,透明大页与之前版本的传统意义上的HugePages是类似的,最主要的区别在于透明大页是可以在操作系统运行过程中动态设置的然而传统的hugepages是需要重启操作系统才能生效。
查看方式
检查状态:可以通过查看/sys/kernel/mm/transparent_hugepage/enabled
或/sys/kernel/mm/redhat_transparent_hugepage/enabled
路径下的设置来检查透明大页是否启用。
查看内核使用情况:通过执行grep AnonHugePages /proc/meminfo
命令,如果输出包含一列类似"AnonHugepages: xxxx kB"且值大于0kB,那么说明内核正在使用透明大页。
禁用方式
通过GRUB配置:在/etc/grub.conf
(或/boot/grub/grub.conf
)中添加transparent_hugepage=never
然后重启服务。
通过rc.local文件:在/etc/rc.local
中添加相应内容后重启服务。
透明大页与Oracle数据库
在RAC环境下,透明大页可能会造成不可预知的节点重启和各种性能问题,在单实例的环境下透明大页也会造成不可预知的性能问题,Oracle强烈建议在所有运行Oracle数据库的服务器上关闭透明大页。
相关问题与解答
1、什么是透明大页?:透明大页是一种用于将物理内存映射到进程虚拟空间的方式,它的主要特点是具有更高的透明度,可以自动将传统页面映射到大页内存上,而不需要用户手动配置和管理。
2、如何在Linux系统中禁用透明大页?:可以通过修改GRUB配置或rc.local文件来禁用透明大页,具体操作为在相应的配置文件中添加transparent_hugepage=never
,然后重启系统。
透明大页是Linux中一种提高内存管理效率的技术,但在某些情况下,如运行Oracle数据库时,可能需要禁用它以避免潜在的性能问题。
小伙伴们,上文介绍了“关于Linux的透明大页详细介绍”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。