HugePages调优
原理
启用HugePages使操作系统能够支持大于默认值(通常为4KB)的内存页面。使用大页可以减少访问页表条目所需的系统资源量来提高系统性能。HugePages可用于32位和64位的系统配置。根据内核版本和硬件架构,大页的大小从2MB到256MB不等。
以下是使用HugePages的优点:
- 通过增加TLB命中来提高性能。
- 页面被锁定在内存中,不会被交换出来,保证像SGA这样的共享内存保留在RAM中。
- 连续的页面是预先分配的,不能用于其他任何东西,而只能用于System V共享内存。
- 由于更大的页面大小,对于虚拟内存的这部分的内核而言,更少的记录工作。
使用方法
- 执行以下命令启动透明大页(RHEL和CentOS 7.6默认启动)。
echo always > /sys/kernel/mm/transparent_hugepage/enabled
- 执行以下命令安装libhugetlbfs。
yum install libhugetlbfs -y
- 执行以下命令运行程序添加-x LD_PRELOAD=/usr/lib64/libhugetlbfs.so的参数。
mpirun -x LD_PRELOAD=/usr/lib64/libhugetlbfs.so ./a.out
父主题: 系统基线化调优