Я пытаюсь зарезервировать Hugepages для использования DPDK. Я изменяю конфигурацию в /etc /default /grub следующим образом:

GRUB_CMDLINE_LINUX_DEFAULT="crashkernel=1G-:256M quiet default_hugepagesz=1G hugepagesz=1G hugepages=50"
GRUB_CMDLINE_LINUX="eagerfpu=on cgroup_enable=memory swapaccount=1 intel_idle.max_cstate=0 processor.max_cstate=0 nopti"

и я бегу

#update-grub
#reboot

но это не сработало. Хотя я нахожу это в /boot/grub/grib.cfg

# grep 'hugepages' /boot/grub/grub.cfg
linux   /boot/vmlinuz-3.16.0-4-amd64 root=UUID=4efa0660-cd6c-4d8e-831b-bf217bf15915 ro eagerfpu=on cgroup_enable=memory swapaccount=1 intel_idle.max_cstate=0 processor.max_cstate=0 nopti crashkernel=1G-:256M quiet default_hugepagesz=1G hugepagesz=1G hugepages=50
linux   /boot/vmlinuz-3.16.0-4-amd64 root=UUID=4efa0660-cd6c-4d8e-831b-bf217bf15915 ro eagerfpu=on cgroup_enable=memory swapaccount=1 intel_idle.max_cstate=0 processor.max_cstate=0 nopti crashkernel=1G-:256M quiet default_hugepagesz=1G hugepagesz=1G hugepages=50

/proc/meminfo остается прежним:

# grep '^Huge' /proc/meminfo
HugePages_Total:      32
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:    1048576 kB

кстати, это моя ОС:

# uname -a
Linux n15-063-139 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux

Я действительно новая рука в dpdk, спасибо заранее.

1 ответ1

0

Я думаю, я нашел причину. Это kexec. Когда я запускаю перезагрузку, этот сервер будет перезагружен через kexec и в /etc /default /kexec:

    # Load the default kernel from grub config (true/false)
    USE_GRUB_CONFIG=false

поэтому конфиг огромной страницы не работает. Я изменяю «ложь» на «истина» и запускаю перезагрузку. Проблема решена. Или я должен просто запустить перезагрузку -f, чтобы не связываться с системой init.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .