Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Can';一旦DPDK应用程序停止,请不要修改hugepage大小_Linux_Memory_Dpdk - Fatal编程技术网

Linux Can';一旦DPDK应用程序停止,请不要修改hugepage大小

Linux Can';一旦DPDK应用程序停止,请不要修改hugepage大小,linux,memory,dpdk,Linux,Memory,Dpdk,我正在运行一个DPDK应用程序,为此我使用脚本分配了大量页面。分配和启动应用程序都可以。但后来,当我停止应用程序并通过删除挂载点并修改numa系统下面的nr_hugepages来释放hugepages时 后来,当我试图分配更多的hugepages时,它似乎不起作用 我如何发布hugepages: echo 0 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages echo 0 > sys/d

我正在运行一个DPDK应用程序,为此我使用脚本分配了大量页面。分配和启动应用程序都可以。但后来,当我停止应用程序并通过删除挂载点并修改numa系统下面的nr_hugepages来释放hugepages时

后来,当我试图分配更多的hugepages时,它似乎不起作用

我如何发布hugepages:

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


如果之前有人遇到过这个问题,你是怎么解决的?任何指针或解决方法都会有很大帮助。

在进程退出后删除巨大的页面映射文件。搜索
/dev/hugepages
/mnt/maging
或作为hugetlbfs安装的任何其他位置,以查找前缀为
rte
的文件。这些位置中的每个文件至少占用一个hugepage