Descubra suporte a páginas enormes em POSIX ou Linux

1

Estou trabalhando em um programa que precisa detectar em tempo de execução se o sistema que está sendo executado suporta heapepages e, em caso afirmativo, quais tamanhos estão disponíveis. Idealmente, gostaria que isso funcionasse para qualquer plataforma POSIX, mas uma solução específica para Linux seria um começo.

O POSIX suporta sysconf(_SC_PAGESIZE) para obter o tamanho de página padrão na plataforma, mas não parece apoiar de forma semelhante qualquer tamanho de página ampliada. Eu também poderia verificar, tentando mmap MAP_HUGE_2MB ou MAP_HUGE_1GB argumentos, mas isso seria lento, e no caso de páginas enormes de 1 GB, seria um desperdício incrível (e poderia facilmente falhar devido à falta de memória disponível).

    
por joshlf 12.05.2017 / 01:01

0 respostas