LINUX.ORG.RU
решено ФорумAdmin

Перенастройка Huge Pages на CentOS 7

 ,


0

1

Непонятная для меня ситуация, есть виртуалка с ОЗУ 16Гб, ставим туда чистую CentOS 7, конкретно сейчас 7.9.2009, включаю в /etc/sysctl.conf

# 8Гб HP
vm.nr_hugepages = 4096

# cat /proc/meminfo | grep Huge
AnonHugePages:      8192 kB
HugePages_Total:    4096
HugePages_Free:     4096
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

# sysctl -a | grep nr_hugepages
vm.nr_hugepages = 4096
vm.nr_hugepages_mempolicy = 4096

И вроде все в порядке, проходит время сервер отдают под другую задачу, для чего ему не нужно столько ресурсов. Меняю в /etc/sysctl.conf значение на 3Гб то есть vm.nr_hugepages = 1536, после перезагрузки все те же команды показывают 1536. И по всем показателям top/htop все именно так.

Теперь меняем количество ОЗУ у виртуалки, было 16Гб теперь достаточно 6Гб, перегружаемся, получаем кернел-паник или что-то вроде этого, опытным путем устанавливаем что это происходит если ОЗУ меньше 8Гб.

Загружаемся, вообще стираем в /etc/sysctl.conf указания количества больших страниц, пробуем syctl -w vm.nr_hugepages=0, перегружаемся, получаем по прежнему

# cat /proc/meminfo | grep Huge
AnonHugePages:      8192 kB
HugePages_Total:    4096
HugePages_Free:     4096
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

# sysctl -a | grep nr_hugepages
vm.nr_hugepages = 4096
vm.nr_hugepages_mempolicy = 4096

То есть, ядро по прежнему считает что ему нужно 8Гб Huge pages и посему крашится если ОЗУ меньше.

Вопрос где оно это запоминает и как это перенастраивать?

Думаю в сторону initrd, ибо потенциально сервер несколько раз обновлялся пока настройки были выставлены в 4096, но только потому что вообще непонятно на что думать.

★★