我正在尝试在 centos 7 上启用大页面以与 ovs 和 DPDK 一起使用。我尝试编辑GRUB_CMDLINE_LINUX
下面/etc/default/grub
的代码。 GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet hugepagesz=1G hugepages=16 hugepagesz=2M hugepages=2048 iommu=pt intel_iommu=on isolcpus=1-13,15-27"
grub2-mkconfig -o /boot/grub2/grub.cfg
:
但是,在我重新启动并发出 后cat /proc/cmdline
,生成的输出不会显示附加的大页条目。 :-(
[root@localhost ~]# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-327.36.3.el7.x86_64 root=/dev/mapper/centos-
root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb
quiet LANG=en_GB.UTF-8
[root@localhost ~]# grep Huge /proc/meminfo
:
请问我错过了什么吗?
答案1
事实证明,问题与 grub 文件的位置有关,而且我使用了错误的路径。
我最初尝试使用
grub2-mkconfig -o /etc/grub2.cfg
但我应该使用/boot/efi/EFI/centos/grub.cfg。作为 grub 文件的路径。所以实际的命令应该是
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
这可能是因为它是基于 UEFI 的系统。这Centos 维基状态基于 UFEI 的系统使用不同的默认 grub 文件路径。
答案2
我在 CentOS 7.4 上处理同样的事情。
在你的案例中我注意到两件事:
您有两个条目
hugepagesz
(1G 和 2M)和hugepage
(16 和 2048)。我不确定你是否能做到这一点。我在重新启动之前将配置文件生成到 /etc/grub2.cfg 中:
grub2-mkconfig -o /etc/grub2.cfg
就我而言,GRUB_CMDLINE_LINUX
in/etc/default/grub
具有以下值(50 1G 页):
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet intel_iommu=on isolcpus=1,2,3,4,5,6,7,8,9,10,11 default_hugepagesz=1G hugepagesz=1G hugepages=50"
另请检查您的内核是否启用了必需的选项(请参阅DPDK 手册,第 2.3.1 节对于这些):
grep <OPTION>= /boot/config-`uname -r`
并检查您的CPU是否支持1GB页面(搜索pdpe1gb cpu标志):
grep pdpe1gb /proc/cpuinfo
编辑:还要检查是否正确安装了内存(请参阅DPDK 手册,第 2.3.2.2 节)。