Невозможно изменить размер огромной страницы после остановки приложения DPDK - PullRequest
0 голосов
/ 16 октября 2019

Я запускаю приложение DPDK и для этого я выделяю огромные страницы, используя скрипт. Распределение и запуск приложения в порядке. Но позже, когда я остановил приложение и выпустил огромные страницы, удалив точку монтирования и изменив ниже nr_hugepages для системы numa.

Позже, когда я попытаюсь выделить дополнительные огромные страницы, это, похоже, не будет работать.

Как мне выпустить огромные страницы:

echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

echo 0 > sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

 echo "Unmounting /mnt/huge and removing directory"
 grep -s '/mnt/huge' /proc/mounts > /dev/null
 if [ $? -eq 0 ] ; then
     sudo umount /mnt/huge
 fi

 if [ -d /mnt/huge ] ; then
     sudo rm -R /mnt/huge
 fi

Потом, когда я попытаюсь записать любое новое значение в nr_hugepages, но оно не принимает никакого значения. Это застряло с предыдущим значением

# echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
# echo 0 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
#
# cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
2048
# cat /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
2048
# cat /sys/devices/system/node/node0/meminfo | fgrep Huge
Node 0 AnonHugePages:     10240 kB
Node 0 HugePages_Total:  2048
Node 0 HugePages_Free:   1024
Node 0 HugePages_Surp:      0
# cat /sys/devices/system/node/node1/meminfo | fgrep Huge
Node 1 AnonHugePages:    145408 kB
Node 1 HugePages_Total:  2048
Node 1 HugePages_Free:   1024
Node 1 HugePages_Surp:   2048

# cat /proc/sys/vm/nr_hugepages
2048
# echo 0 > /proc/sys/vm/nr_hugepages
# cat /proc/sys/vm/nr_hugepages
0
# cat /sys/devices/system/node/node0/meminfo | fgrep Huge
Node 0 AnonHugePages:     10240 kB
Node 0 HugePages_Total:  2048
Node 0 HugePages_Free:   1024
Node 0 HugePages_Surp:   2048

# cat /sys/devices/system/node/node1/meminfo | fgrep Huge
Node 1 AnonHugePages:    145408 kB
Node 1 HugePages_Total:  2048
Node 1 HugePages_Free:   1024
Node 1 HugePages_Surp:   2048
# cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
2048
# cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
4096

Если кто-то сталкивался с этой проблемой ранее и что вы сделали, чтобы избавиться от этого? Любой указатель или обходной путь окажет большую помощь.

1 Ответ

0 голосов
/ 16 октября 2019

Удалите огромные файлы отображения страниц после завершения процесса. Найдите /dev/hugepages или /mnt/huge или любое другое место, смонтированное как hugetlbfs, для файла с префиксом rte_. Каждый файл в этих местах использует как минимум одну огромную страницу.

...