ovsとDPDKで使用するためにcentos 7でhugepagesを有効にしようとしています。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
結果の出力に追加のhugepageエントリは表示されません。 :-(
[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 ベースのシステムだからかもしれません。これセントースウィキ状態 UFEI ベースのシステムは、別のデフォルトの grub ファイルパスを使用します。
答え2
CentOS 7.4でも同じ問題を扱っています。
あなたのケースでは、2つの事実を見つけました。
hugepagesz
2つの項目(1Gと2M)とhugepage
(16と2048)があります。あなたがこれを行うことができるかもしれません。再起動する前に、/etc/grub2.cfgに設定ファイルを作成しました。
grub2-mkconfig -o /etc/grub2.cfg
私の場合、次の値がGRUB_CMDLINE_LINUX
ありました/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が1 GBページをサポートしていることを確認してください(pdpe1gb CPUフラグの検索)。
grep pdpe1gb /proc/cpuinfo
編集:また、メモリが正しく取り付けられていることを確認してください(参照DPDKマニュアル、セクション2.3.2.2)。