Altera o tamanho das minhas páginas de memória?

4

Eu gostaria de alterar o tamanho de página do meu kernel de 4KB para 4MB, já que tive uma grande adição de RAM ao meu computador e nunca mais estou ficando sem memória.

A ideia é que os programas que exigem grandes quantidades de memória gastem menos tempo na alocação de páginas. Eu suponho que isso melhoraria o desempenho e gostaria de tentar.

Não consigo encontrar em nenhum lugar ao executar make menuconfig . Existe uma maneira de fazer isso?

    
por qdii 26.06.2013 / 14:16

3 respostas

3

Você provavelmente deseja ver Transparent Hugepages . O item .config é CONFIG_TRANSPARENT_HUGEPAGE. Note que habilitar isso não lhe dará páginas enormes automaticamente. Você precisará configurar o CONFIG_TRANSPARENT_HUGEPAGE_MADVISE como 'n', para torná-lo o padrão.

Observe também que isso não permite escolher um tamanho de página arbitrário. Eu permite usar o tamanho de página enorme da arquitetura. Para x86_64, isto é 1Mb, veja link para a tabela completa.

    
por 26.06.2013 / 18:04
2

O PAGESIZE é definido no momento da compilação do kernel. Essa seleção é válida apenas para o hardware i386. Se você executar um sistema de 64 bits ou qualquer outra arquitetura, o tamanho da página será 4K e não poderá ser alterado.

    
por 26.06.2013 / 15:30
0

As placas parecem ser uma solução exata que você está procurando. Lajes são unidades de memória pré-alocadas pelo kernel e devem mais ou menos evitar a sobrecarga de alocação, o que parece exatamente o que você está tentando alcançar.

Para mais informações, consulte Wikipedia: alocação de placas

Alterar o tamanho da página (se possível) para uma quantidade de 1 MiB causaria desperdício excessivo de memória. Muitos (quero dizer, dezenas de) subprocessos e daemons ocupam apenas alguns kB de memória. Alguma lembrança é tão barata?

    
por 23.01.2017 / 15:10