- 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
Meu PC Ubuntu é usado para coisas típicas:
Respostas:
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.
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.
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.
O free
comando 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 free
fornece 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 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.
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
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:
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.
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.
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: