Hugepagesize相关配置
使用cat /proc/meminfo | grep Huge
查看当前配置的Hugepagesize大小与数目
临时配置Hugepagesize = 2MB
以下为临时配置2M*1024大页内存的方式:
对于非NUMA:
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
-
NUMA架构:
echo 1024 >/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages echo 1024 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
配置完成之后可以使用cat /proc/meminfo
查看是否成功。
然后将hugepages中的内存给DPDK使用:
mkdir /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
vim /etc/fstab
# add below item
nodev /mnt/huge hugetlbfs defaults 0 0
永久配置Hugepagesize = 1GB
修改/etc/default/grub 中的 GRUB_CMDLINE_LINUX,然后运行 grub 更新并重启系统:
vi /etc/default/grub
在GRUB_CMDLINE_LINUX配置中添加以下内容
default_hugepagesz=1G hugepagesz=1G hugepages=16 hugepagesz=2M hugepages=2048 iommu=pt intel_iommu=on isolcpus=1-15,16-31
更新grub
sudo update-grub
重启系统
reboot
查看
注意:重启之后需要再重新加载UIO驱动以及绑定网卡
解决HugePages_Free为0
# Get the hugepage size.
awk '/Hugepagesize/ {print $2}' /proc/meminfo
# Get the total huge page numbers.
awk '/HugePages_Total/ {print $2} ' /proc/meminfo
# Unmount the hugepages.
umount `awk '/hugetlbfs/ {print $2}' /proc/mounts`
# Create the hugepage mount folder.
mkdir -p /mnt/huge
# Mount to the specific folder.
mount -t hugetlbfs nodev /mnt/huge
# 查看
cat /proc/meminfo