Importância da partição de swap

34
  • Qual é o propósito de uma partição de troca?
  • Como eu sei que tenho apenas partição de swap suficiente? Não muito / pouco.

Meu Ubuntu PC é usado para coisas típicas:

  • Web (email, facebook, etc.)
  • Alguns filmes
  • o jogo é raro
por lamcro 23.10.2010 / 20:35

6 respostas

15

A partição swap atende a alguns propósitos.

  • Ele serve como RAM de 'backup'. Ou seja, se o seu computador ficar sem memória RAM, ele usará a área de troca como uma fonte temporária de mais memória. Mais especificamente, ele irá 'trocar' itens não utilizados da RAM para a área de troca, a fim de deixar espaço livre para os aplicativos que precisam dela naquele instante. Isso não é ideal, pois a taxa de transferência de dados para o disco rígido é significativamente menor do que a da sua RAM normal. Na prática, isso significa que é muito mais lento recuperar informações da área de troca.

  • É usado quando o computador hiberna. A hibernação envolve tirar uma imagem da RAM em seu estado atual (como um ISO representa uma imagem) e salvá-la na área de troca. Em seguida, ele recarrega essa imagem quando o computador é reiniciado.

  • Para ser mais útil, a área de troca deve ser pelo menos (RAM * 1.5), embora mais seja recomendado. Por exemplo, no meu sistema com 3GB de RAM, eu tenho uma área de troca de 7.2GB.

por richzilla 23.10.2010 / 21:19
7

Isso é muito parecido com o esta pergunta sobre o tamanho "certo" para uma partição swap. Muitas das mesmas informações da minha resposta lá muito mais lenta que a RAM, se você estiver preenchendo vários gigabytes de swap, seu computador quase certamente ficará lento.

Também não há necessidade real de uma partição swap - os arquivos swap (disponíveis nos principais sistemas de arquivos linux) fornecem o mesmo desempenho e tornam mais fácil adicionar mais espaço de troca se você decidir que não tem o suficiente.

    
por RAOF 24.10.2010 / 03:45
4

aqui uma informação muito profunda sobre swap

algumas pessoas dizem o dobro do seu ram, mas pessoalmente eu recomendo isso:

swap = 1,5 X Ram total

Exemplo:

se você tiver 2 GB de RAM - > troca = 1,5 x 2 = 3

P.D: O Ubuntu Desktop usa Trocar para Hibernar (PC desligado, sem necessidade de energia, estados de programa salvos). Se a hibernação for importante para você, tenha mais espaço de swap e depois ram + swap overflow.

    
por hhlp 23.10.2010 / 20:48
2

O comando free pode informar quanto de swap você está usando. Por exemplo, nesta máquina:

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

mostra-me que tenho 2GB (1947m) de RAM e que o sistema usou a maior parte dele. No entanto, 312m é usado para buffers de E / S e o restante (758m) que o sistema decidiu preencher com o cache de disco.

O cache de disco é interessante porque está usando memória rápida em vez de disco lento para seu conteúdo. O conteúdo pode ser obtido do disco, mas eles são mantidos no caso de serem necessários. Isso também significa que há 758m de memória que podem ser recuperados em um instante, se necessário, porque o sistema sabe que pode encontrar esses dados no disco.

É por isso que há uma segunda linha mostrando que se não houvesse buffering e cache, eu teria metade da minha RAM (1154m) disponível para uso.

A terceira linha mostra que eu tenho uma partição swap excessivamente grande (ela estava lá e não estava fazendo nada), da qual foram usados 3m enormes. Isso é algo que o kernel realmente não espera ter que usar tão cedo, então ficou preso na "varanda dos fundos".

Enquanto free der a você o instantâneo agora, vmstat pode fornecer uma imagem em execução:

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

Há muita informação lá, mas de interesse é que não há tráfego swap-in (si) ou swap-out (so). O que significa que não estou usando a troca nos últimos 10 segundos.

    
por msw 23.10.2010 / 21:16
0

No meu laptop de gama baixa / média, acho que uma unidade de troca é contraproducente.

  1. Se eu quisesse a capacidade de hibernar, isso significaria escrever muitos dados no disco. Isso seria um dreno da bateria se fosse feito persistentemente (o comportamento padrão) ou levaria muito tempo se fosse feito apenas no tempo de hibernação (por exemplo, reduzindo swappiness ).

  2. Meu disco rígido é relativamente lento, então eu quero manter 1GB de RAM reservada para o cache de disco , efetivamente trocando memória por velocidade. Para conseguir isso eu uso uma bifurcação de earlyoom que eliminará as abas do navegador quando 88% da RAM for usada. Isso mantém minha máquina rápida, mas significa que posso usar apenas 7 GB dos meus 8 GB de RAM para aplicativos.

Depois de ler algumas discussões online, e este Q / A, tentei reativar minha partição swap como uma experiência. Eu experimentei muitas leituras de disco e lentidão depois de desassociar a máquina, e reduzi a duração da bateria quando desconectei, então depois de alguns dias eu desabilitei a troca novamente!

Existem prós e contras para trocar. Eu queria compartilhar alguns dos contras com você.

    
por joeytwiddle 10.11.2017 / 14:32
0
  • A área de troca é a parte do espaço do disco rígido usada para suportar espaço de memória RAM. RAM é limitado em tamanho, algumas aplicações precisam mais RAM do que o espaço de RAM disponível. Nesse caso, esse espaço de swap também chamado de memória virtual usada para suportar RAM.
  • É mais lento em velocidade em comparação com a velocidade da RAM. Quando corremos um grande aplicação, em seguida, a parte menos utilizada recentemente desse aplicativo em trocado para a área de swap no disco rígido, ele é trocado de volta Troque a área quando for necessário. Isso dá ao sistema operacional uma sensação de apenas tendo mais RAM do que realmente é.
  • É uma partição dedicada no disco rígido criada durante a instalação do sistema operacional.
  • É bom criar uma Área de Troca do dobro do tamanho da RAM.
  • Você pode verificar a Área de Troca usada e disponível usando o seguinte comando:

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    
por Vijesh 10.11.2017 / 15:19