Como funciona a memória virtual

Autor: 
Jeff Tyson

A memória virtual é uma parte comum na maioria dos sistemas operacionais dos computadores pessoais. Ela traz um grande benefício para os usuários a um preço bem acessível.

Neste artigo, aprenderemos o que é exatamente uma memória virtual, qual a sua finalidade e como configurá-la para obter um melhor desempenho.

A maioria dos computadores possui uma grande quantidade de memória disponível para uso da CPU (veja Como funciona a memória RAM para mais detalhes). Infelizmente, nem sempre essa quantidade de memória é suficiente para rodar de uma só vez todos os programas requisitados.

Mais memória no computador
Aqui estão outros artigos que trazem informações sobre memória do computador:

 

Se você tivesse que carregar o sistema operacional, um programa de e-mail, um navegador e um processador de texto simultaneamente dentro da memória RAM, 128 megabytes não seriam suficientes. Se não houvesse a memória virtual, quando toda a RAM disponível fosse preenchida seu computador provavelmente diria a você: "desculpe, mas você não pode carregar mais nenhum aplicativo. Por favor, feche um dos programas abertos para poder abrir um novo". Com a memória virtual, o computador pode procurar por áreas da RAM que não foram usadas recentemente e copiá-las para o disco rígido. Isso liberará espaço na RAM para carregar um novo aplicativo.


Devido a essa cópia acontecer automaticamente, você nem percebe o que está acontecendo. É como se sua máquina tivesse espaço de RAM ilimitado, mesmo que só disponha de 128 megabytes instalados. Isso também traz grande benefício econômico, uma vez que esse espaço no disco rígido é muito mais barato do que os chips da memória RAM.

 

A velocidade de leitura/escrita de um disco rígido é muito mais lenta do que a da RAM, e sua tecnologia não é ajustada para acessar pequenas quantidades de dados de cada vez. Se o seu sistema depende muito da memória virtual, você notará uma queda significativa no desempenho. A chave é ter RAM suficiente para lidar com tudo isso simultaneamente assim, o único momento em que a lentidão da memória virtual é observada é quando existe uma pequena pausa na mudança de tarefas. Quando é este o caso, a memória virtual é perfeita.

Mas quando não é este o caso, o sistema operacional terá que trocar constantemente informação entre a RAM e o disco rígido. Isso é chamado de thrashing (degradação), e pode deixar seu computador incrivelmente lento.

 

A área do disco rígido que armazena a memória RAM é chamada de arquivo de paginação (page file). Ela armazena páginas da RAM no seu disco rígido, e o sistema operacional move os dados sucessivamente entre o arquivo de paginação e a RAM. Em uma máquina com o Windows instalado, o arquivo de paginação usa a extensão .swp.

A seguir você irá ver como configurar a memória virtual em um computador.

Configurando a memória virtual

 

O Windows 98 (e as versões seguintes) é um exemplo típico de um sistema operacional que possui memória virtual. O Windows 98 apresenta um gerenciador de memória virtual inteligente que usa uma configuração padrão para auxiliar o Windows a alocar espaço no disco rígido para a memória virtual à medida que é necessário. Para a maioria dos casos, isso soluciona as necessidades do usuário, mas pode ser que você queira configurar manualmente a memória virtual, especialmente se você tiver mais que um disco rígido físico ou aplicações críticas quanto a velocidade de processamento.

Se você quiser configurar manualmente a sua memória virtual, abra a janela do "Painel de Controle" (Control Panel) e clique duas vezes no ícone "Sistema" (System). A caixa de diálogo do sistema se abrirá. Clique na guia "Performance"  (performance) e então clique no botão "Memória Virtual" (Virtual Memory).


Selecione a opção que diz, "Deixar que eu especifique minhas próprias configurações de memória virtual" (Let me specify my own virtual memory settings). Isso fará com que as opções abaixo da instrução se tornem ativas. Clique na lista ao lado de "Disco Rígido:" para selecionar o disco rígido no qual quer configurar a memória virtual. Uma dica é dividir igualmente a memória virtual entre os discos rígidos físicos que você tem.


Na caixa "Mínimo:", entre com a menor quantidade de espaço que deseja usar para a memória virtual do disco rígido especificado. As quantidades são em megabytes. Para o drive "C:", o mínimo deve ser 2 megabytes. O número "Maximo:" pode ser o de sua escolha, mas um possível limite máximo é de duas vezes o espaço físico da RAM. Por padrão estas versões do Windows normalmente configuram este campo com uma quantidade de 12 megabytes acima da quantidade física da RAM. Para que o novo ajuste tenha efeito, feche a caixa de diálogo e reinicie seu computador.

 

A quantidade de espaço do disco rígido a ser alocada para a memória virtual é importante. Se você alocar pouco espaço, receberá mensagens de erro como "Sem Memória". Se for preciso continuar aumentando o tamanho da memória virtual, provavelmente o seu sistema está lento e acessa constantemente o disco rígido. Nesse caso, você deve pensar em comprar mais RAM para manter a razão entre a RAM e a memória virtual em cerca de 2:1. Alguns aplicativos requerem um grande espaço de memória virtual, mas não a acessam muito. Nesse caso, grandes arquivos de paginação funcionam bem.

/>/>

Um truque que pode melhorar o desempenho da memória virtual, especialmente se grande quantidade for necessária, é configurar os tamanhos máximo e mínimo do arquivo de memória virtual de forma idêntica. Esse procedimento força o sistema operacional a alocar o arquivo de paginação inteiro quando você inicia a máquina, evitando que ele tenha de aumentá-lo enquanto os programas estão sendo executados, melhorando assim o desempenho. Muitos aplicativos de vídeo fazem esta recomendação para evitar pausas enquanto estão escrevendo ou lendo informações entre o disco rígido e a fita.

Um outro fator que influencia o desempenho da memória virtual é o local do arquivo de paginação. Se o seu sistema possui vários discos rígidos físicos (não confunda com várias partições do disco rígido), você pode dividir o trabalho entre eles fazendo paginações menores em cada disco. Essa simples modificação acelerará significativamente qualquer sistema que faz um uso demasiado da memória virtual.

Para mais informações, acesse os links da próxima página.