Você reservou quase toda a sua memória para páginas tlb enormes. Isso deixa quase nenhuma memória para armazenar dados reais. O tamanho recomendado é de cerca de 1 / 1.000 do que você definiu.
Na caixa temos 38 GB de memória. Depois de definir o número de páginas enormes (2048k) para 17290, descobri que quase toda a memória foi usada. Mas eu não executei nenhum processo. Como isso poderia ser? Qual número de páginas enormes devo definir?
Você reservou quase toda a sua memória para páginas tlb enormes. Isso deixa quase nenhuma memória para armazenar dados reais. O tamanho recomendado é de cerca de 1 / 1.000 do que você definiu.
Esta questão é antiga, mas acho que a outra resposta está errada. Dependendo de como páginas enormes foram alocadas exatamente, se feitas corretamente naquele momento usando
echo 17290 > /proc/sys/vm/nr_hugepages
ou algo parecido, o que foi visto foi o comportamento pretendido e é documentado. É absolutamente aceitável reservar o número de páginas enormes que se acha necessário para a carga de trabalho e que quase toda a memória livre desapareceu no cenário descrito como esperado:
Pages that are used as huge pages are reserved inside the kernel and cannot be used for other purposes. Huge pages cannot be swapped out under memory pressure.
Outros fazem exatamente o mesmo:
Set the vm.nr_hugepages kernel parameter to a suitable value. In this case, we decided to use 12GB and set the parameter to 6144 (6144*2M=12GB). You can run: echo 6144 > /proc/sys/vm/nr_hugepages
Tags memory linux page-numbers