Número crescente de páginas enormes esgotou a memória


1

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 não executei nenhum processo. Como isso poderia ser? Que número de páginas enormes devo definir?

Respostas:


1

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 é cerca de 1/1000 do que você definiu.


Meu aplicativo java que usa quase 35G e usa LargePages (-XX: + UseLargePages). Então, acho que o espaço total para páginas grandes deve ficar próximo de 35G.
user710818

@ user710818 O "número de páginas grandes" que você definiu não tem nada a ver com o número de páginas grandes que o aplicativo usa. Tem a ver com o número de TLBs de páginas enormes usadas pelo sistema operacional.
David Schwartz

Portanto, deve ter apenas 17 páginas?
user710818

Essa é a recomendação.
David Schwartz

Downvote, porque eu acho que essa resposta está errada e que foi visto é como esperado: superuser.com/a/1327823/308859
Thorsten Schöning

0

Esta pergunta é antiga, mas acho que a outra resposta está errada. Dependendo de quão grandes páginas 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 está como documentado. Não há problema em reservar o número de páginas enormes que consideramos necessárias para a carga de trabalho e que quase toda a memória livre se foi no cenário descrito também é o esperado:

Páginas que são usadas como páginas enormes são reservadas dentro do kernel e não podem ser usadas para outros fins. Páginas enormes não podem ser trocadas sob pressão de memória.

https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt

Outros fazem exatamente o mesmo:

Defina o parâmetro do kernel vm.nr_hugepages para um valor adequado. Nesse caso, decidimos usar 12 GB e configuramos o parâmetro para 6144 (6144 * 2M = 12 GB). Você pode executar: echo 6144> / proc / sys / vm / nr_hugepages

https://blog.pythian.com/performance-tuning-hugepages-in-linux/

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.