Hugepages exist, but are not free and not protected. Or, how can I free huge pages?

I am running an SPDK experiment (which uses DPDK, which in turn uses huge pages), and it worked yesterday. I run them in a shared environment (I think one or two people use this machine for other things). Now, when I try to run it, I get a free huge pages error.

The output of / proc / meminfo:

HugePages_Total:    1024
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

Mount output:

cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb,release_agent=/run/cgmanager/agents/cgm-release-agent.hugetlb)

Something that worked in my last environment no longer works:

umount -a -t hugetlbfs
mount -t hugetlbfs nodev /mnt/huge

Then the output of / proc / meminfo

HugePages_Total:    1024
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:     1024

But if I try to run it:

EAL: No free hugepages reported in hugepages-1048576kB
EAL: No free hugepages reported in hugepages-2048kB
PANIC in rte_eal_init():
Cannot get hugepage information

Why are these pages redundant and not free? Is there any way to free them? I want to reboot the system, as other tasks or people using it can be started there.

edit:. , , . , , .

( ):

Linux ?

+4
1

, :

1) ,

dpdk@dpdkvm:~$ ls /mnt/huge/
empty

dpdk@dpdkvm:~/dpdk-1.8.0/examples/kni$ cat /proc/meminfo
...
HugePages_Total:     256
HugePages_Free:      256
...

2) dpdk ,

dpdk@dpdkvm:~/dpdk-1.8.0/examples/kni$ sudo ./build/kni -c 0x03 -n 2 -- -P -p 0x03 --config="(0,0,1),(1,0,1)"
...
EAL: Error - exiting with code: 1
  Cause: No supported Ethernet device found

3) ,

dpdk@dpdkvm:~/dpdk-1.8.0/examples/kni$ cat /proc/meminfo
...
HugePages_Total:     256
HugePages_Free:        0
...

4) , , , dpdk.

dpdk@dpdkvm:~/dpdk-1.8.0/examples/kni$ ls /mnt/huge/
...
rtemap_0    rtemap_137  rtemap_176  rtemap_214  rtemap_253  rtemap_62
...

5) , , rtemap,

dpdk@dpdkvm:~/dpdk-1.8.0/examples/kni$ sudo rm /mnt/huge/*
[sudo] password for dpdk:
dpdk@dpdkvm:~/dpdk-1.8.0/examples/kni$ cat /proc/meminfo
...
HugePages_Total:     256
HugePages_Free:      256
...
+3

Source: https://habr.com/ru/post/1656656/


All Articles