linux transparenet huge page使用

本文介绍如何在Linux系统中禁用透明大页功能,这对于提高Hadoop、Oracle等应用服务器的内存性能至关重要。文中提供了两种禁用方法,并详细解释了如何检查当前设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux6以后,默认启用了透明大页,对于需要大内存的应用,该参数启用对内存性能影响是非常大的,故像hadoop、oracle应用服务器都应禁用该参数。

查看该参数是否启用:

grep Huge /proc/meminfo

如果AnonHugePages值大于0代表内核使用的是 透明大页,可在

/sys/kernel/mm/redhat_transparent_hugepage/enabled(或者 /sys/kernel/mm/transparent_hugepage/enabled)中找到

never值代表禁用。

禁用办法1:

在/etc/grub.conf 最后一行添加transparent_hugepage=never ,重启主机

禁用办法2:

在/etc/rc.local中添加以下内容:

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
立即生效执行:
echo never > /sys/kernel/mm/transparent_hugepage/enabled


### 配置DPDK Hugepages 在Linux环境中配置Hugepages对于优化内存管理和提高性能至关重要。为了使DPDK能够高效运行,必须正确设置大页内存。 #### 设置内核参数 要启用并分配大页,需调整几个重要的内核参数: - `/proc/sys/vm/nr_hugepages` 控制可使用的巨大页面数量。 - `/sys/kernel/mm/hugepages/hugepages-<size>/nr_hugepages` 可用于特定大小的大页数目的设定[^1]。 #### 创建挂载点 创建一个专门的文件系统来管理这些大页是非常必要的。通常做法是在`/mnt/huge`下建立一个新的tmpfs实例: ```bash sudo mkdir -p /mnt/huge echo "nodev /mnt/huge hugetlbfs defaults 0 0" | sudo tee -a /etc/fstab ``` #### 修改权限 为了让应用程序可以访问到已分配好的大页空间,还需要适当放宽该路径下的读写权限: ```bash sudo mount -t hugetlbfs nodev /mnt/huge sudo chmod a+rwx /mnt/huge ``` #### 自动化脚本 考虑到每次重启都需要重新执行上述命令较为繁琐,因此建议编写一段简单的初始化脚本来完成这项工作。下面是一个例子: ```bash #!/bin/bash # Set number of huge pages (e.g., 1024 * 2MB = 2GB) NUM_PAGES=1024 PAGE_SIZE="2M" if [ ! -d "/mnt/huge" ]; then echo "Creating /mnt/huge" sudo mkdir -p /mnt/huge fi echo "Mounting hugetlbfs..." grep -s '/mnt/huge' /proc/mounts || \ (sudo mount -t hugetlbfs none /mnt/huge) echo "$NUM_PAGES" | sudo tee /proc/sys/vm/nr_hugepages echo "Setting permissions on /mnt/huge" sudo chmod 777 /mnt/huge ``` 保存此脚本至合适位置,并赋予其可执行权限以便日后调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值