O Rafael Aquini, da Red Hat, explicou que a palestra iria apresentar uma visão geral do gerenciador de memória do kernel do Linux, sem muito aprofundamento mas trazendo informações úteis baseadas no fato de que a apresentação foi montada anos atrás como forma de fornecer orientação para equipes de suporte que se deparavam com questionamentos sobre a utilização de memória no Linux. Ele indicou também que o conteúdo foi adaptado para ser o mais agnóstico possível, embora tenha sido baseado, inicialmente, nas versões do RHEL.
Ele explicou conceitos básicos como memória virtual, tabelas de página (page tables) e a idéia de adiar ao máximo as operações de alocação, efetivando o uso de memória pelas aplicações apenas quando realmente necessário, através de técnicas como demand paging e page frame replacement, sempre visando otimizar o tempo das operações do kernel.
O Rafael exemplificou a alocação de memória acima do limite de memória física, para demonstrar a utilidade da memória virtual, e explorou informações do /proc para verificar que a memória física utilizada efetivamente (VmRSS) é bem menor que a memória alocada no mapa de memória do processo (VmSize). Isto, claro, considerando que o processo alocou (pediu) mas não usou (escreveu) ainda a memória.
O tempo ficou curto e ele não pode fazer muitos outros exemplos, mas mostrou algumas situações típicas que podem causar confusão. Ele deixou claro que, para o kernel Linux, memória livre é memória desperdiçada, por isso o kernel faz tudo que pode pra ocupar a memória, inclusive utilizando vários caches. Explicou também que o kernel "aposta" que informações lidas serão lidas novamente.
Nenhum comentário:
Postar um comentário