Isso ocorre porque o HugePages_rsvd é essencialmente lido em HugePages_Free. Ou seja, das 596 páginas enormes que são gratuitas, 594 já estão reservadas por algum aplicativo para uso. Isso é o kernel confirmou que essas 594 páginas enormes estão disponíveis para o aplicativo.
Se houver uma solicitação para três páginas enormes agora, ela falhará, pois somente duas estarão disponíveis para serem reservadas. Pense nisso como uma chamada malloc (), quando você reserva páginas virtuais de memória para contabilizar o VSZ para o processo, mas quando o processo realmente as utiliza, ele se torna o RSZ (conjunto em execução) do processo.
Como páginas enormes são sempre residentes na memória principal, quando um aplicativo solicita a elas o kernel o desativa do pool livre e aumenta o contador de Rsvd.
Isto é da fonte do kernel. link
where:
HugePages_Total is the size of the pool of huge pages.
HugePages_Free is the number of huge pages in the pool that are not yet
allocated.
HugePages_Rsvd is short for "reserved," and is the number of huge pages for
which a commitment to allocate from the pool has been made,
but no allocation has yet been made. Reserved huge pages
guarantee that an application will be able to allocate a
huge page from the pool of huge pages at fault time.
HugePages_Surp is short for "surplus," and is the number of huge pages in
the pool above the value in /proc/sys/vm/nr_hugepages. The
maximum number of surplus huge pages is controlled by
/proc/sys/vm/nr_overcommit_hugepages.