Importância da partição de swap


34
  • Qual é o objetivo de uma partição swap?
  • Como sei que tenho partição de swap apenas o suficiente? Não muito / pouco.

Meu PC Ubuntu é usado para coisas típicas:

  • Web (email, facebook, etc.)
  • Alguns filmes
  • jogos são raros

Pelo que foi postado, parece que tenho muita troca. 3 GB de RAM, 300 GB HD e uma partição de 8 GB para troca.
lamcro

2
A troca extra que não é usada não vai prejudicá-lo, e recuperar 1,7% da sua unidade para torná-la menor provavelmente não vale a pena. Sim, é muito maior do que você provavelmente já usará, não me preocuparia.
msw

11
Você também pode vê-lo como uma partição swap "à prova do futuro", se você sempre adicionar memória extra para seu sistema, você não terá que ampliar a troca ... :)
janc

Respostas:


15

A partição de troca serve a alguns propósitos.

  • Serve como RAM '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 'trocará' itens não utilizados da RAM para a área de troca, a fim de deixar espaço livre para os aplicativos que precisam dele naquele instante. Isso não é ideal, pois a taxa de transferência de dados para o disco rígido é significativamente menor que a da 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 capturar uma imagem da RAM em seu estado atual (como um ISO representa uma imagem) e salvá-la na área de troca. Em seguida, recarrega essa imagem quando o computador reinicia.

  • 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 3 GB de RAM, tenho uma área de troca de 7,2 GB.


Se você não usar algo, é ideal trocá-lo para o disco e usar a RAM para as coisas que você usa (por exemplo, mover CUPS ou outros daemons que você não usa com muita freqüência para trocar, oferece mais memória para o armazenamento em disco do disco dados que realmente são usados ​​muito).
JanC 24/10/10

-1; "(RAM * 1.5), embora mais seja recomendado" - no PC de mesa? Você está repetindo a sabedoria convencional que é falsa há anos.

@ user280493 Vale notar que a resposta tinha anos ... anos atrás, quando você comentou.
Crisfole

7

Isso é muito próximo do mesmo que esta pergunta sobre o tamanho "certo" para uma partição de troca. Grande parte das mesmas informações da minha resposta se aplica - basicamente, se você deseja hibernar, geralmente deseja que seu espaço de troca seja pelo menos tão grande quanto a sua RAM e, além disso, um número redondo como 1 ou 2 GB é facilmente suficiente. Como o swap é muito mais lento que a RAM, se você estiver preenchendo vários gigabytes de swap, seu computador quase certamente se tornará inusitavelmente lento.

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


4

aqui uma informação muito profunda sobre swap

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

swap = 1,5 X Ram total

Exemplo:

se você tiver 2 GB de ram -> swap = 1,5 x 2 = 3

PD: O Ubuntu Desktop usa Swap to Hibernate (PC desligado, sem energia, estados de programa salvos). Se a Hibernação for importante para você, tenha mais espaço de troca do que o ram + swap overflow.


2

O freecomando pode dizer 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 que tenho 2 GB (1947 m) de RAM e que o sistema utilizou a maior parte. No entanto, 312m é usado para buffers de E / S e o restante (758m) que o sistema decidiu preencher com o cache do disco.

O cache do 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 por aí, caso sejam necessários. Isso também significa que há 758m de memória que pode ser recuperada em um instante, se necessário, porque o sistema sabe que pode encontrar esses dados no disco.

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

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

Enquanto freefornece o instantâneo agora, vmstatpode 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 o interessante é que não há tráfego de troca (si) ou troca (fora). O que significa que não estou usando a troca nos últimos 10 segundos.


0
  • A área de troca é a parte do espaço no disco rígido usada para oferecer suporte à memória RAM de espaço limitado. A RAM é limitada em tamanho; portanto, alguns aplicativos precisam de mais RAM do que o espaço disponível na RAM. Nesse caso, esse Swap Space também é chamado de memória virtual usada para oferecer suporte à RAM.
  • É mais lento em comparação com a velocidade da RAM. Quando executamos um aplicativo grande, a parte menos usada recentemente foi trocada para Swap Area no disco rígido, e ela é trocada novamente da Swap Area quando necessário. Isso dá ao sistema operacional a sensação de ter apenas mais memória RAM do que realmente é.
  • É uma partição dedicada no disco rígido criada durante a instalação do sistema operacional.
  • É bom se você criar Área de Troca 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
    

0

Eu tenho um laptop com um disco rígido lento, mas com uma RAM relativamente alta (8 GB). Nesta configuração, considero uma unidade de troca contraproducente pelos seguintes motivos:

  1. Retirar os aplicativos da troca é lento , comparável ao carregamento do aplicativo a partir do zero. Prefiro ter um ambiente que responda rapidamente, mesmo que isso signifique às vezes fechar e recarregar aplicativos, do que um ambiente que às vezes trava inesperadamente.

  2. Se eu quisesse a capacidade de hibernar, isso significaria gravar muitos dados no disco. Isso seria uma perda constante da bateria se fosse feito de forma persistente (o comportamento padrão do swappiness 60) ou se fosse feito apenas no tempo de hibernação (reduzindo a troca), levaria um longo tempo para realmente hibernar. Achei a suspensão como RAM em vez de a suspensão no disco ser bastante satisfatória. Ele poderia ficar suspenso por alguns dias e seria suspenso muito mais rapidamente do que uma hibernação completa.

  3. Como o disco rígido é lento, prefiro manter 1 GB de RAM reservado para o cache do disco , trocando efetivamente a memória por velocidade. Isso mantém minha máquina pronta, mas significa que posso usar apenas 7 GB dos meus 8 GB de RAM para aplicativos. O software que eu uso para isso é uma bifurcação do earlyoom que mata as guias antigas do navegador quando 88% da RAM foi usada. Ocasionalmente, tenho que recarregar guias antigas do navegador que foram eliminadas.

Quando esse conselho não se aplicaria?

  • Se você tiver uma unidade de disco rígido rápida ou um SSD e tiver menos preocupações com o consumo de bateria, as desvantagens descritas acima não se aplicarão. (Embora os primeiros SSDs possam ter problemas com o desgaste, acredito que todos os SSDs vendidos desde 2018 devam ser bons.)

  • Se sua máquina possui muito pouca RAM ou você gosta de usar vários aplicativos que consomem muita memória ao mesmo tempo, pode ser necessário usar o swap para concluir seu trabalho, independentemente das desvantagens. Este foi o principal caso de uso para troca, antes que a memória começasse a ficar mais barata.

  • Se você realmente precisa de hibernação (talvez queira suspender o laptop e reabri-lo depois de alguns dias sem carregar), precisará de uma unidade de troca (recomendada pelo menos como a sua RAM).

Embargo:

  • Alguns dos softwares que deixamos em execução por um longo período de tempo (especialmente o sistema operacional e o ambiente de área de trabalho) carregam código na memória que nunca mais será usada. Essas páginas podem ser movidas para troca e nunca precisarão ser retiradas novamente, evitando as desvantagens mencionadas anteriormente. Por esse motivo, às vezes crio um pequeno arquivo de troca de 512 MB ou 1 GB e permito que as páginas de memória não utilizadas sejam trocadas. Isso me deixa com um pouco mais de RAM para aplicativos. (Necessário: uma técnica para medir a rotatividade da troca, para ajudar a ajustar o tamanho desse arquivo de troca.)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.