Por que e como a troca está melhorando o desempenho e posso desativá-la? [fechadas]

0

Eu tenho um laptop com 8GB de RAM executando 4.0.4-2-ARCH . Recentemente, eu instalei o Android Studio , e, meu sistema normalmente novo estava subitamente e todo congelado (mais de uma vez) . p>

Antes do Android Studio , eu corri o SMB, Minidlna, Plex, MySQL, PostgreSQL, Apache e Chrome simultaneamente sem problemas. Agora, lutei para executar o Chrome com o Android Studio . Em ambos os casos, free e Monitor do Sistema reportaram apenas 6.5G usado RAM!

Então eu fiz uma pequena escavação e habilitei um swap de 5G (swapfile). Fiquei surpreso com a melhora no desempenho! Não há mais atrasos. Mas ainda assim, durante o pico de carga, ( Studio e Chrome ) o uso era 5G RAM + 1.5G swap.

Isso me confundiu um pouco e eu tenho duas perguntas.

Em primeiro lugar , se a memória usada for apenas 6G , por que a gagueira e especialmente, por que congelar?

Em segundo lugar , meu disco rígido ( 1TB ) tem cerca de 3 anos e eu preferiria manter a troca desativada . Existe alguma outra maneira de alcançar o desempenho swap-like , sem estressar o disco rígido. Eu já defini swappiness para um valor baixo de 10, que usa cerca de 1G normalmente, e meu laptop já está no máximo RAM limite.

Eu já li essas excelentes respostas, mas estou perguntando isso porque não estou satisfeito com elas .

EDIT : Estas respostas afirmam que Linux usará toda a memória disponível e, portanto, para novos programas, a paginação diminuirá a velocidade do computador. Mas se muito o conteúdo Linux colocado na memória é algo que pode ser gerenciado sem ter feito isso, por que o desempenho é penalizado quando programas que requerem grande RAM são executados? Quero dizer, na melhor das hipóteses, a inicialização do programa deve ser lenta (paginação).

  1. Preciso de espaço de troca se eu tiver uma quantidade de RAM suficiente?

  2. Por que a troca é usada quando muita memória ainda está livre?

  3. Trocar um anacronismo?

por ps95 31.05.2015 / 22:24

1 resposta

1

Embora pareça que você tem RAM mais que suficiente, os buffers do Linux armazenam dados na memória. Também é comum colocar sistemas de arquivos como /tmp na memória para acelerar o acesso. Se você não tiver a permuta habilitada, há muitas coisas que podem ficar paradas na memória que podem impedir o armazenamento em cache de arquivos acessados com freqüência. Sua escolha é realmente: paginar a memória não utilizada para o disco; ou ler repetidamente arquivos do disco. Você não tem opções que não exijam E / S quando a memória (incluindo buffers) for preenchida.

Hoje em dia é comum trocar a memória por uma troca que não tenha sido acessada recentemente, em vez de trocar programas inteiros. Coisas que podem ser paginadas incluem:

  • Não PIC (código independente de posição) que foi carregado em um programa e modificado para seu local de memória;
  • Os dados são lidos em programas que não estão sendo usados ativamente;
  • arquivos temporários que não estão sendo usados ativamente (podem ser paginados); e
  • qualquer outra memória que não esteja sendo usada ativamente e não tenha armazenamento alternativo alternativo.

O PIC e outros dados não modificados lidos do disco podem usar o arquivo do qual ele é lido como um armazenamento de apoio, em vez de usar o swap.

Você pode usar um programa como sar para monitorar paginação, troca e E / S de disco. Espero que você veja menos uso de disco quando tiver a troca ativada.

Se você deseja suspender para o disco, é comum precisar de um espaço de troca bastante grande no qual a memória pode ser copiada quando você suspende.

    
por 01.06.2015 / 00:19