Re: HugePages_Rsvd leak

From: Shawn Bohrer
Date: Wed Apr 08 2015 - 17:42:50 EST


On Wed, Apr 08, 2015 at 02:16:05PM -0700, Mike Kravetz wrote:
> On 04/08/2015 09:15 AM, Shawn Bohrer wrote:
> >I've noticed on a number of my systems that after shutting down my
> >application that uses huge pages that I'm left with some pages still
> >in HugePages_Rsvd. It is possible that I still have something using
> >huge pages that I'm not aware of but so far my attempts to find
> >anything using huge pages have failed. I've run some simple tests
> >using map_hugetlb.c from the kernel source and can see that pages that
> >have been reserved but not allocated still show up in
> >/proc/<pid>/smaps and /proc/<pid>/numa_maps. Are there any cases
> >where this is not true?
>
> Just a quick question. Are you using hugetlb filesystem(s)?

I can't say for sure that nothing is using hugetlbfs. It is mounted
but as far as I can tell on the affected system(s) it is empty.

[root@dev106 ~]# grep hugetlbfs /proc/mounts
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
[root@dev106 ~]# ls -al /dev/hugepages/
total 0
drwxr-xr-x 2 root root 0 Apr 8 16:22 .
drwxr-xr-x 16 root root 4360 Apr 8 03:53 ..
[root@dev106 ~]# lsof | grep hugepages

> If so, you might want to take a look at files residing in the
> filesystem(s). As an experiment, I had a program do a simple
> mmap() of a file in a hugetlb filesystem. The program just
> created the mapping, and did not actually fault/allocate any
> huge pages. The result was the reservation (HugePages_Rsvd)
> of sufficient huge pages to cover the mapping. When the program
> exited, the reservations remained. If I remove (unlink) the
> file the reservations will be removed.

That makes sense but I don't think it is the issue here.

Thanks,
Shawn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/