Por que o Ubuntu não usa swap?

1

Estou executando o Ubuntu 10.04 de 32 bits em uma máquina AMD Phenom de 4 núcleos com 4 GB de RAM. Com o uso normal (cerca de uma dúzia de abas do Chrome, 1 máquina VirtualBox, 2 ou 3 instâncias do QtCreator,) a memória ocasionalmente irá preencher > 95% e a máquina ficará praticamente sem resposta.

Se eu olhar o System Monitor durante esses períodos, ele mostrará o uso da memória em 95% + mas apenas algumas centenas de MB da minha partição swap de 9GB serão usadas! Por que mais memória não é transferida para swap para evitar esgotar-se?

Veja: link

    
por mtbkrdave 18.04.2011 / 20:36

2 respostas

3

Obter memória do swap é muito lento. O Linux usa toda a memória disponível economizando uma pequena quantia para executar comandos rapidamente. Ele irá trocar quando a memória é necessária e não está disponível através de outros meios.

O Linux também armazena em buffer todos os arquivos que você lê e grava na memória em um cache LRU. Esses buffers podem ser liberados rapidamente se a memória for necessária pelos programas. Dados os programas que você está executando, você pode estar ficando sem buffers e a E / S, que normalmente é normalmente servida de buffers, está sendo lida do disco.

Existe um parâmetro de swappiness que você pode ajustar, mas você pode querer examinar o que está acontecendo primeiro. Tente instalar o utilitário sar (package sysstat ) e executá-lo em segundo plano. Você pode examinar os arquivos gerados para ver qual recurso está se tornando um gargalo.

    
por 15.04.2016 / 10:21
1

Para adicionar à resposta de Bill:

O swap deve ser evitado sempre que possível devido à sobrecarga. Acredito que as versões mais recentes do Ubuntu têm um valor padrão de 'swappiness' definido como 10 (somente comece a usar o Swap quando < 10% da RAM estiver disponível). Eu acredito que isso é bastante consistente com o que você está vendo.

Se por algum motivo você quiser começar a usar o swap antes (ou seja, para ter memória RAM suficiente para iniciar uma nova imagem de VM), você pode considerar aumentar o valor de 'swappiness'. O guia a seguir descreve como isso é feito e fornece informações adicionais (consulte a seção "Por que minha troca não está sendo usada?").

link

    
por 18.04.2011 / 22:06